こんにちは。完全自動化研究所の小佐井です。
「RPAツールは使ったことがないので、どんなものかわからない」という人は多いです。
この記事では「RPAツールとは何か」について解説しています。

・RPAツールについて全般的な知識を手に入れたい
・RPAツールは何ができるのか知りたい
・RPA製品によってどんな違いがあるのか知りたい
1) IT歴20年。開発から業務改善まで幅広く経験してきました
2) 複数の企業において2016年からRPA内製化をサポートしています
3) RPA関連の書籍を5冊出版しています
RPAツールと一口で言っても、いろいろなタイプがあります。
そもそも、なぜいろいろなタイプがあるのか?
根本的な定義から理解できるように、わかりやすく解説します。
では、どうぞ!
RPAツールとは
この記事で「 RPAツール とは何か」を学ぶ前に「 RPA とは何か」を理解しておきましょう。
簡単に言うと、RPAとは「コンピューターにできる作業をコンピューターによって自動化しましょう」という概念(考え方)です。







では、この先はRPAについて理解できている前提で、「RPAツール」とは何かについてお話します。
RPAという概念を実体化したソフトウェア
RPAツールとはRPAという概念を実体化したソフトウェアです。もしくは「RPAという概念を実現化するためのツール群の総称」と言ってもいいでしょう。
RPAの概念をどのように実現するのかは、RPAツールを開発しているメーカーによって、いろいろな考え方があるので、RPAツールもさまざまな形態があります。
また、RPAツールは単一のアプリケーションではなく、複数のアプリケーションの集まりであり、それらが連携してRPAの概念を実体化していることを理解してください。





RPAツールはITエンジニアでなくても扱える(ものが多い)
多くのRPAツールは、設定画面で必要な情報を入力したり、選択したりするだけで自動化を行うことができます。
このように設定や選択だけでアプリケーション開発や自動化処理を開発できるツールのことを「ローコード(low code)」と呼びます。
RPAツールはローコード開発できるため、ITエンジニアでなくても自動化を行うことができるようになってきました。
RPAが登場するまで、ITを利用した業務改善や既存システムに対する機能追加の要望はシステム部門や外部のIT企業に依頼しなければならないものでした。
時間も費用もかかるため、あきらめなければならないケースも多々あったのではないでしょうか。
しかし、RPAツールを利用すれば、ITエンジニアでないユーザー部門の方でも自分の力で自動化することが可能になります(図2)。
(図2)RPAの登場
ただし、本格的に業務を自動化する場合はプログラミングの基本的な知識くらいは身に付ける必要があります。
詳しくは次の記事をお読みください。
RPAツールの用語
RPAツール関連の用語をある程度理解しておかないと、この先の話が頭に入ってこないと思います。
ただし、RPAツールにはさまざまな形態があるので、統一された思想、統一された用語は存在しないのでご注意ください。
僕が通常使う表現を中心にまとめました。
自動化の部品
多くのRPAツールには、自動化を行うための部品が最初から数多く用意されています。この部品のことを僕は「 アクション 」と呼んでいます。
UiPathではアクティビティ、WinActorではノード、Power Automate for desktopではアクションと呼びます。
手順を記述したプログラム
自動化の手順を記述した手順書(プログラムやスクリプトと呼ばれる)のことを「 シナリオ 」と呼びます。
UiPathではワークフロー、WinActorではシナリオ、Power Automate for desktopではフローと呼びます。
シナリオを作成するツール
シナリオを作成するための開発環境のことを「 シナリオ作成ツール 」と呼びます。
UiPathではUiPath Studio、Power Automate for desktopではフローデザイナーと呼びます。
ちなみにシナリオは「開発」ではなく、「作成」と呼ぶことが多いです。「開発」だとプログラミングを連想させて、「難しそう」というイメージを持たれるからです。
シナリオを実行するツール
シナリオを実行するツールのことを「 ロボット 」と呼びます。
RPAツール自体をロボットと表現することが多いようですが、RPAツールには「シナリオ作成ツール」など、他のツールが含まれてしまうので、もう少し厳密に定義しています。
ちなみにシナリオ作成ツールとシナリオを実行するツールが一体になっているRPAツールもあります。その場合はRPAツール自体をロボットと表現してもいいと思います。
ロボットやシナリオを管理するツール
ロボットやシナリオを管理・実行するツールのことを「 コントローラー 」と呼びます。
シナリオの管理やロボットの実行管理、ロボットの実行スケジューラー、ログの管理、ユーザー管理、ライセンス管理、システム共通で使う定数(パスワードや特定のフォルダーのパスなど)の管理など、運用に必要な様々な機能を持っています(もちろん、ツールによって機能は違います)。
iPathではOrchestrator、WinActorではWinDirectorやWinActor Manager on Cloud、Power Automate for desktopではPower Automateがコントローラーにあたります。
RPAツールの機能
RPAツールには大きく3つの機能があります。前述したようにRPAツールにはさまざまな形態があるので、すべてのRPAツールがこの3つの機能を持っているわけではありませんが、大枠を理解しておくことで、RPAツールごとの違いも把握しやすくなります。
デスクトップ画面周りの自動化機能
あらかじめRPAツールにデスクトップ作業の手順を設定しておくことで、アプリケーションの起動、キー入力、ファイルの読み書き、メールの送受信などを正確に行ってくれます(図1)。
僕はこのような機能を「デスクトップ画面周りの自動化機能」と呼んでいます。
(図1)RPAツールの概略
データの加工機能
RPAは「デスクトップ画面周りの自動化機能」に加えて、「データの加工機能」があります。
例えば、「デスクトップ画面周りの自動化機能」により、クラウドシステムから売上データをCSV形式でダウンロードしたのち、データを加工してExcelドキュメント形式で保存するような自動化で使用します。
【データ加工の例】
- 日付の表示形式をyyyyMMddからyyyy-MM-ddに変更する
- 店舗マスタと突合して、売上データに店舗名を加える
- 売上数量と単価を乗算して、売上金額を算出する
ただし、「データの加工機能」については、RPAツールに依りますが、RPAツールの得意分野ではないと言えるでしょう。
Excelドキュメントの加工なら、Excelマクロを利用するなど、複合的な手段で自動化を進めた方が効率的です。RPAツールからExcelマクロを呼び出す手段は、ほとんどのRPAツールで用意されています。
運用コントロール機能
「デスクトップ画面周りの自動化機能」と「データの加工機能」を含む自動化全体のコントロールもRPAツールの役割です。
自動化が進んでいくと、いくつものシナリオが並行して運用されるようになっていきます。
企業として、運用をスムーズに行うためには、RPAのシナリオ実行状況(正常に実行されているか、エラーが出ていないか)の管理、スケジュール管理、ログ管理などが必要となってきます。
強力なコントローラーを持っているRPAツールから、まったくコントローラーが無いRPAツールまでさまざまです。
RPAツールのタイプ
RPAツールのタイプについては以下の記事にまとめています。
RPAツール一覧
主要なRPAツールの一覧は以下の記事にまとめています。