scrapfly-rpa について
scrapfly-rpa は、REST API で Scrapfly RPA ワークフローを操作するスキルです。実行の監視、成果物の取得、マネージドまたは独自ストレージの設定とテストに対応します。
主な機能
- 01ワークフロー実行の開始と監視
- 02実行成果物の一覧表示とダウンロード
- 03GCS または S3 ストレージの設定
- 04ストレージ保存先のプローブ
- 05成果物の保存先確認
活用シーン
- 01保存済みワークフローを実行して完了を待つ
- 02ワークフロー実行で生成された成果物を取得
- 03独自の GCS または S3 ストレージを設定
- 04ストレージの認証情報と書き込み権限を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ scrapfly/ skills --skill scrapfly-rpaインストール後、Claude Code で/scrapfly-rpaを入力して読み込まれたか確認します。
詳細
Scrapfly RPA
Scrapfly RPA(Robotic Process Automation)は、Scrapfly Cloud Browser 上で動作する、型付きグラフのワークフローランタイムです。ワークフローは、ノード(navigate、click、type、evaluate、snapshot、branch、for_each、http、webhook、AI ステップなど)から成る有向グラフです。実行によってアーティファクト(バイトデータとインデックス化されたメタデータ)が生成され、Scrapfly のマネージドバケット、または Bring-Your-Own-Storage(BYOS)フローを通じて顧客所有のバケットに保存できます。
使用するケース
- 保存済みの RPA ワークフローを実行し、実行完了まで待機する場合。
- 実行によって生成されたアーティファクトを一覧表示またはダウンロードする場合。
- ワークフローのアーティファクトの保存先として、顧客所有の GCS または S3 バケットを設定する場合(HIPAA 対応のワークロードやデータレジデンシー向けの BYOS)。
- 保存前に保存先をテストする場合(「バケットと認証情報の設定が実際に機能するか」)。
- 既存のアーティファクトがどの保存先に保存されたかを確認する場合(managed、gcs、s3 のいずれか)。
セットアップ
API キーは環境変数経由で指定し、すべてのリクエストでクエリ文字列パラメーターとして使用します。
export SCRAPFLY_API_KEY="scp-live-..."
すべてのエンドポイントは https://api.scrapfly.io/v2/rpa/ 配下にあります。
ワークフローを実行する
curl -sX POST "https://api.scrapfly.io/v2/rpa/workflows/$WORKFLOW_ID/run?key=$SCRAPFLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": { "customer_id": 42 }
}'
# Response: { "run": { "id": "run_01k...", "status": "queued", ... } }
完了するまでポーリングします。
RUN_ID=run_01k...
while :; do
status=$(curl -s "https://api.scrapfly.io/v2/rpa/runs/$RUN_ID?key=$SCRAPFLY_API_KEY" | jq -r .run.status)
case "$status" in completed|failed|canceled) break ;; esac
sleep 2
done
echo "Run finished with status: $status"
実行からアーティファクトを一覧表示する
curl -s "https://api.scrapfly.io/v2/rpa/runs/$RUN_ID/artifacts?key=$SCRAPFLY_API_KEY" \
| jq '.artifacts[] | {id, kind, bytes, content_type, destination_kind}'
各アーティファクトの destination_kind は次のいずれかです。
managed:Scrapfly のバケット内のバイトデータgcs:顧客所有の GCS バケット内のバイトデータs3:顧客所有の S3 バケット内のバイトデータ
アーティファクトをダウンロードする
curl -s "https://api.scrapfly.io/v2/rpa/artifacts/$ART_ID?key=$SCRAPFLY_API_KEY" \
| jq -r .artifact.download_url \
| xargs curl -L -o output.html
署名付き URL の有効期限は 5 分です。再試行する場合は、新しい URL を発行してください。
保存先(デフォルトの managed)
ワークフローは、優先する保存先を definition.context.storage_destination に保存します。このフィールドが空、または kind: "managed" に設定されている場合、アーティファクトは Scrapfly のマネージドバケットに保存されます。設定は不要です。
保存先(BYOS GCS)
前提となる Vault アイテムの形式:タイプが blob の Scrapfly Vault アイテムを作成します。GCP サービスアカウントの JSON 全体を、単一の文字列として data フィールドに格納します。この Vault アイテムを、credentials_vault_ref に設定したエイリアスで実行にバインドします。
レガシー互換性:password タイプで、password フィールドに JSON ペイロードを格納したアイテムも引き続き使用できます。これにより、既存の BYOS 顧客は再バインドせずに済みます。新しい連携では、型付きの blob アイテムを使用してください。
ワークフローの保存先に独自の GCS バケットを指定します。
{
"definition": {
"nodes": [ ... ],
"edges": [ ... ],
"context": {
"storage_destination": {
"kind": "gcs",
"bucket": "my-rpa-archive",
"prefix": "rpa/runs",
"credentials_vault_ref": "vault_01k.../sa_json"
}
}
}
}
credentials_vault_ref は、GCP サービスアカウント JSON を保持する Scrapfly Vault アイテムを参照します。認証情報が Vault からディスクやワークフロー定義に取り出されることはありません。呼び出しごとに解決され、使用直後にゼロ化されます。Vault 自体は Scrapfly が保持しないキーでエンドツーエンド暗号化されているため、BYOS の認証情報経路は設計上 HIPAA に準拠しています。この Vault キーを組織内で共有する方法は、お客様の責任です。
保存先(BYOS S3)
AWS でも同じ形式です。
{
"storage_destination": {
"kind": "s3",
"bucket": "my-rpa-archive",
"region": "us-east-1",
"prefix": "rpa/runs",
"credentials_vault_ref": "vault_01k.../aws_creds"
}
}
Vault アイテムには、AWS アクセスキーの 3 要素(access_key_id、secret_access_key、省略可能な session_token)を格納します。
保存先をテストする
BYOS 設定を保存する前に、プローブオブジェクトを保存先経由で往復させ、設定ミスをすぐに検出します。ワークフロー実行時に送信するものと同じ vault_bindings マップを渡すことで、プローブが顧客の保持する Vault キーを使って顧客の認証情報を解決できるようにします。
curl -sX POST "https://api.scrapfly.io/v2/rpa/storage/probe?key=$SCRAPFLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"storage_destination": {
"kind": "gcs",
"bucket": "my-rpa-archive",
"credentials_vault_ref": "acme_gcs"
},
"vault_bindings": {
"acme_gcs": {
"vault_id": "vlt_01k...",
"item_id": "vlti_01k...",
"key": "BASE64-OF-CUSTOMER-VAULT-KEY"
}
}
}'
プローブに成功した場合:
{
"ok": true,
"destination_kind": "gcs",
"bucket": "my-rpa-archive",
"storage_path": "gs://my-rpa-archive/.scrapfly-rpa-probe/01k...",
"write_ms": 142,
"sign_ms": 18
}
よくあるエラーコード:
storage_destination_invalid:必須フィールドがありません(bucket、S3 の region、credentials_vault_ref)。storage_probe_write_failed:認証情報は解決されましたが、バケットによって書き込みが拒否されました。サービスアカウントまたは AWS アクセスキーの IAM 権限を確認してください。
対応していない機能
- API を使ったワークフローの新規作成。ワークフローの作成にはダッシュボードエディターを使用してください。このスキルは実行、アーティファクト、保存先の操作を対象としています。
- 既存のアーティファクトのマネージドバケットの置き換え。
storage_destinationの編集は今後の実行にのみ影響します。既存の行は書き込まれた場所に残ります。 - 保持期間の管理。マネージドバケットからは 90 日後に削除されます。BYOS バケットは、お客様独自のライフサイクルポリシーに従います。
関連スキル
scrapfly-browser:RPA ランタイムが操作する、低レベルの Cloud Browser API です。型付きのワークフローステップではなく、CDP を直接制御する必要がある場合に使用します。scrapfly-cli:すべての Scrapfly 製品にアクセスできるシェルです。scrapfly rpaサブコマンドはありません。RPA ワークフローは REST API または SDK を通じて操作してください。CLI のexit-peerグループは、RPA のbyopプロファイルが接続先として使用する BYOP コネクターをインストールします。