1. はじめに
UiPath DevConで発表するデモのテーマは「UiPath for Coding Agents」です。
発表時間は限られています。すべての操作、判断、コマンドの意味をその場で細かく説明するのは難しいです。
そのため、この記事ではデモの完全版を残します。
この記事は開発編です。UiPath StudioとClaude Codeを使い、CSVの候補者情報をWebフォームへ登録するRPAを作ります。
この記事の目的は、UiPath for Coding Agentsとして、Coding AgentがRPA開発をどう支援できるかを見せることです。
この記事で残す内容は、主にこの5つです。
- 登録先ページを確認する
- CSVとフォーム項目を対応づける
- UiPath StudioでRPAを作る
- Claude Codeに実装と修正を手伝わせる
- UiPath CLIで検証する
DevCon本番では流れを中心に見せます。細かい手順、コマンドの意味、録画はこの記事で確認できるようにします。
運用編では、エラー分析、修正、テスト、デプロイまで扱います。
2. 今回作るもの
作るものは、候補者情報をWeb画面へ登録するRPAです。
CSVを読み込み、候補者情報を1件ずつChrome上のフォームへ入力していきます。処理の詳細はセクション7で確認できます。
登録先ページはこちらです。
https://junli-web-host.s3.ap-northeast-1.amazonaws.com/uibank-register-account.html
入力項目は、候補者ID、候補者名、メールアドレス、応募職位、現在の職種、経験年数、スキル、職務要約、資格、業界経験、求人タイトルです。
このデモの目的は、RPAそのものよりも、Coding Agentと一緒にRPAを作る進め方を見せることです。

3. デモ環境
今回の環境です。
| 項目 | 内容 |
|---|---|
| RPA開発環境 | UiPath Studio |
| ブラウザ | Google Chrome |
| 自動化対象 | S3でホストされた静的HTMLページ |
| 入力データ | CSVファイル |
| Coding Agent | Claude Code |
| 検証支援 | UiPath CLI |
| 主に使うSKILL | uipath-rpa |
uip rpa validate --file-path Main.xaml --min-severity error
必要に応じて、実行確認もCLIから行います。
uip rpa run --file-path Main.xaml
XAMLを書いて終わりにはしません。Studioで読めるか、実行できるかまで確認します。
4. 入力CSVと登録先ページ
入力CSVは、UiPath Studioプロジェクトの親フォルダに置いています。
uibank_register_account.csv
中身は、候補者3件分のデータです。
ヘッダーはHTMLページの表示項目に合わせています。
候補者ID,候補者名,メールアドレス,応募職位,現在の職種,経験年数,スキル,職務要約,資格,業界経験,求人タイトル
1行目の例です。
C001,田中 真耶,maya.tanaka@example.com,RPA開発者,RPAエンジニア,5,"UiPath; C#; SQL; REFramework","銀行向けRPA開発を5年担当。大規模ワークフローの設計と運用改善の経験あり。","UiARD","銀行","RPA開発者"
登録先ページは、UiBankの面接候補者登録画面です。
https://junli-web-host.s3.ap-northeast-1.amazonaws.com/uibank-register-account.html
必須項目は3つです。
- 候補者ID
- 候補者名
- 求人タイトル
このページはデモ用の静的HTMLです。登録ボタンを押すと、画面上は登録完了になります。
5. UiPath Studioプロジェクトの準備
ここからUiPath StudioでRPAプロジェクトを作ります。
今回は、シンプルなWindowsプロジェクトとして作成します。
Studioで次のように進めます。
- UiPath Studioを開く
- 新しいプロジェクトを作成する
- 種類は「Process」を選ぶ
- プロジェクト名を入力する
-
Main.xamlが作成されたことを確認する
ここでは、まだワークフローを作り込みません。
この段階では、Studioでプロジェクトを作成し、Main.xaml が開けるところまでで十分です。
6. Coding Agentを使った開発の進め方
次に、Coding Agentを使える状態にします。
今回はClaude Codeを使います。
まず、UiPath Studioで作成したプロジェクトフォルダをVS Codeで開きます。
そのあと、VS Codeの拡張機能からClaude Codeをインストールします。
手順は次の通りです。
- VS Codeを開く
- UiPath Studioのプロジェクトフォルダを開く
- 拡張機能を開く
- AnthropicのClaude Code拡張をインストールする
- Claude Codeにサインインする
6.1 CLAUDE.md を初期化する
最初に、プロジェクト用の CLAUDE.md を作ります。
CLAUDE.md は、Claude Codeが毎回読むプロジェクト方針です。
Claude Codeのパネルで、次のコマンドを実行します。
/init このUiPath Studioプロジェクト用の CLAUDE.md を作成してください。
このプロジェクトでは、UiBank候補者登録RPAを開発します。
必ず含める方針:
- 日本語で進める
- 推測でXAMLを書かない
- 実装前に Main.xaml、project.json、entry-points.json を確認する
- 既存パッケージを勝手に変更しない
- アクティビティ仕様はローカルの実パッケージ情報や UiPath CLI で確認する
- 実装後は uip rpa validate --file-path Main.xaml --min-severity error で検証する
- 可能なら uip rpa run --file-path Main.xaml で実行確認する
これで、Claude Codeがプロジェクトを見て、最初の CLAUDE.md を作ります。
今回のデモでは、CLAUDE.md に細かい手順を書きすぎません。Claude Codeに毎回守ってほしい最小限の方針だけを残します。
ここからは、Claude Codeにいきなり実装させません。
作成した CLAUDE.md の方針を前提に、次の実装依頼へ進みます。
CLAUDE.md に「実装前にMain.xaml、project.json、entry-points.jsonを確認する」と書いてあるため、同じ確認指示を毎回プロンプトに入れる必要はありません。
UiPathのRPA開発では、Studioのプロジェクト形式、依存パッケージ、アクティビティの種類によって、作り方が変わります。
その確認は CLAUDE.md のルールとしてClaude Codeに任せます。
6.2 RPAの実装を依頼する
6.2.1 実装依頼のプロンプト
CLAUDE.md の初期化が終わったら、RPAの実装を依頼します。
ここでは、確認手順や検証コマンドを細かく書きません。
それらは CLAUDE.md に書いてあるためです。
実装依頼では、入力CSV、登録先ページ、作りたい処理だけを伝えます。
CLAUDE.md の方針に従って、UiBank候補者登録RPAを実装してください。
入力CSVはフォルダにある uibank_register_account.csv です。
登録先ページは以下です。
https://junli-web-host.s3.ap-northeast-1.amazonaws.com/uibank-register-account.html
CSVを読み込み、各行の候補者情報をChrome上のフォームへ入力し、
登録ボタンを押すワークフローを Main.xaml に作成してください。
この依頼では、使うアクティビティ名までは指定しません。
Studioプロジェクトの状態、パッケージ、ページ構造を見て、Claude Codeに判断してもらいます。
途中でClaude Codeからパッケージバージョンや追加パッケージの確認を求められる場合があります。その場合は、Studio側の依存関係を確認してから進めます。
6.2.2 実装中の進捗確認
実装中は、Claude CodeがTodoとして作業の進み具合を整理してくれます。

この画面を見ると、今どこまで終わっていて、次に何をするのかが分かります。
今回の例では、パッケージ導入とChrome起動確認が終わり、ウィンドウセレクタやフォーム要素の取得に進んでいます。
このように、Coding Agentに任せる場合でも、途中の判断ポイントを人間が確認しながら進められます。
6.3 検証と実行結果
実装が終わると、Claude Codeは最後にまとめを返します。
ここでは、何を実装したのか、どのコマンドで検証したのか、実行結果がどうだったのかを確認できます。
まず、uip rpa validate で Main.xaml を確認しました。ワークフローがStudio上でエラーなく読めるかを見るコマンドです。
uip rpa validate --file-path Main.xaml --min-severity error
実際のRPA実行は、uip rpa run を使います。
ただし、今回のワークフローはCSVパスを入力引数 in_CandidateCsvPath として受け取ります。
そのため、入力引数を渡さずに実行するとCSVを読み込めず、エラーになります。
正しい実行コマンドは次の形です。
uip rpa run --file-path Main.xaml --input-arguments "in_CandidateCsvPath=..\uibank_register_account.csv"
run は、実際にRPAを動かすコマンドです。今回のように入力値がある場合は、--input-arguments で渡します。
補足すると、これらのコマンドを毎回自分でコマンドプロンプトに入力する必要はありません。
検証や実行の方針は、先ほど作成した CLAUDE.md に含めています。
再度確認したい場合は、Claude Codeに自然言語で依頼すれば大丈夫です。
CLAUDE.md の方針に従って、Main.xaml を検証し、実データで再実行してください。
今回の実行では、実データ3件を使ってChrome上のフォーム登録まで確認しました。
結果は、成功3件、失敗0件です。
6.4 開発中に発生した問題と修正
今回は、いくつか修正が必要になりました。
-
GenerateDataTable.ParsingMethodが使えず、実際のプロパティ名に合わせて修正した -
uip rpa buildはローカル環境のdotnetCLI制約で失敗した - 代わりに
uip rpa runの内部コンパイルと実行結果で確認した - UI要素は手書きセレクタではなく、
uia-configure-target経由でObject Repositoryに登録した
特にブラウザ操作を含むRPAでは、利用しているStudio、UI Automation、Chrome拡張機能の組み合わせによって挙動が変わることがあります。そのため、Coding Agentが一度で書き切るよりも、確認と修正を挟みながら進める形になります。
6.5 実装時間について
今回の実装は、完了まで20分以上かかりました。
理由は、単純なコード生成だけではなく、UiPath Studioプロジェクトの状態確認、UI Automationパッケージの確認、Chrome連携、フォーム要素の取得、Main.xaml の検証まで含めて進めているためです。
現時点では、生成速度やブラウザ連携にまだ改善余地があります。それでも、動くワークフローを作って検証まで通せれば十分です。
7. 実装されたRPAワークフローの中身
完成した Main.xaml は、CSVを読み込み、Chrome上の登録フォームへ1件ずつ入力するワークフローです。
サンプルですが、実務で使うRPAの基本形も入れています。
7.1 全体の流れ
処理の流れはシンプルです。
- 入力引数でCSVパスを受け取る
- CSVを読み込む
- CSVをDataTableに変換する
- Chromeで登録ページを開く
- DataTableを1行ずつ処理する
- 各項目をフォームへ入力する
- 登録ボタンをクリックする
- 成功件数、失敗件数をログと出力引数に残す
7.2 運用しやすくするために入れたポイント
今回の実装で特に確認したいポイントは、次の5つです。
- CSVパスを
in_CandidateCsvPathで受け取る - CSVをDataTable化し、
For Each Rowで1件ずつ処理する - UI操作は
Use Application/Browser、Type Into、Clickで作る - 1件ごとに
Try/Catchを入れて、エラーを分離する - ログと出力引数で、成功件数と失敗件数を残す
CSVパスを引数にしているため、ファイルをワークフロー内に固定していません。
uip rpa run --file-path Main.xaml --input-arguments "in_CandidateCsvPath=..\uibank_register_account.csv"
また、フォーム要素は手書きセレクタではなく、uia-configure-target で取得したターゲットを使っています。
candidate_id
candidate_name
candidate_email
submit-registration
7.3 ログと例外処理
1件分の登録処理は Try/Catch で囲んでいます。
これにより、1件失敗しても全体を止めず、次のデータへ進めます。
ログには、読み込み件数、登録成功、登録失敗、最終結果を残します。
候補者CSV読み込み件数: 10 件
候補者 C001 (田中 真耶) を登録しました
登録完了: 成功 10 件 / 失敗 0 件
最後に、結果を出力引数にも設定します。
out_SuccessCount
out_FailureCount
小さいサンプルでも、ログ、例外処理、出力引数を入れておくと、後続のエラー分析や再実行がしやすくなります。
8. UiPath SKILLとCLIで広がる開発対象
今回はRPAを作っていますが、UiPath for Coding Agentsで扱える開発対象はRPAだけではありません。
ここでは、Claude Codeに直接聞く形で、UiPathの開発対象を整理します。
8.1 Claude Codeに聞く
次のように質問します。
UiPath for Coding Agentsでは、どのようなUiPath開発ができますか。
RPAだけではなく、Flow、Coded Agent、Coded App、API Workflow、Connector、Solutionなども含めて、
開発対象、使うSKILL、使うCLIを見やすいテーブルで整理してください。
この質問をすると、Claude CodeがUiPathの開発対象を整理してくれます。
この記事では、ここで出てきた回答をもとに、RPA以外の開発対象も確認します。
8.2 回答で確認したい観点
たとえば、次のような整理になります。
CLI名は環境やバージョンで変わる可能性があるため、利用前に uip --help で確認します。
| 開発対象 | 使うSKILLの例 | 使うCLIの例 |
|---|---|---|
| RPA / XAML | uipath-rpa |
uip rpa |
| Flow / Maestro Flow | uipath-maestro-flow |
uip maestro flow |
| Coded Agent | uipath-agents |
uip agents |
| Coded App | uipath-coded-apps |
uip apps |
| API Workflow | uipath-api-workflow |
uip api-workflow |
| Connector | uipath-connector-builder |
uip is connectors |
| Solution | uipath-solution |
uip solution |
SKILLは、Coding Agentに「どう作るべきか」を教えるものです。
CLIは、実際のUiPathプロジェクトを検証、実行、パッケージ化、デプロイするために使います。
詳細はこちらで確認してください。
8.3 今回のRPAとのつながり
今回作っているRPAは、この一覧の中の1つです。
今回は uipath-rpa と uip rpa を使って、Main.xaml の実装、検証、実行確認を行いました。
SKILLとCLIを組み合わせれば、FlowもCoded AgentもConnectorも同じ進め方で開発できます。
9. 完成したデモの録画
ここに、今回の一連の操作を録画として貼ります。
録画では、CLAUDE.md初期化からCSV 3件の登録確認まで、一連の操作の流れを確認できます。
10. まとめ
この記事では、UiPath StudioとClaude Codeを使って、CSVからWeb登録を行うRPAを作りました。
今回の要点は、CLAUDE.md で開発方針を持たせ、UiPath SKILLで作り方を判断し、UiPath CLIで検証と実行確認まで行ったことです。RPAの自動生成だけで終わらせていません。
この流れにすると、Coding Agentに任せる部分と、人間が確認する部分を分けやすくなります。
小さいデモでも、次の要素を入れることで、実務に近い形になります。
- 入力引数
- DataTable処理
- UI Automation
- ログ
- 例外処理
- 実行結果の出力
DevCon本番では、この流れを短く見せます。
詳細な手順、コマンドの意味、実行の様子はこの記事と録画で確認できるようにします。
次の記事では、運用編として、エラー分析、修正、テスト、デプロイを扱います。






