メインコンテンツへスキップ

概要

多くの組織は互いに連携しない SaaS ツールを使っています。API がなければ、一方のツールからデータをエクスポートし、フォーマットを整え、もう一方に手入力するしかありません。手間がかかり、ミスも発生しやすく、スケールしません。 Refrain は 2 つの手順書を連鎖させてこのギャップを埋めます。1 つ目でソースアプリからデータを抽出し、2 つ目でデスティネーションアプリに入力します。カスタムミドルウェアやインテグレーションプラットフォームは不要です。

手順書の例

ステップ 1: ソースから抽出
name: extract-from-crm
url: https://crm.example.com/contacts
variables:
  - name: username
    source: secrets
  - name: password
    source: secrets
steps:
  - action: input
    selector: "#email"
    value: "{{ username }}"
  - action: input
    selector: "#password"
    value: "{{ password }}"
  - action: click
    selector: "#login"
  - action: wait
    selector: ".contacts-table"
  - action: click
    selector: ".export-button"
  - action: download
    selector: ".download-csv"
ステップ 2: デスティネーションに入力
name: import-to-billing
url: https://billing.example.com/customers/new
variables:
  - name: company_name
    source: data
  - name: contact_email
    source: data
steps:
  - action: input
    selector: "#companyName"
    value: "{{ company_name }}"
  - action: input
    selector: "#contactEmail"
    value: "{{ contact_email }}"
  - action: click
    selector: "#create"
  - action: wait
    selector: ".success"

生成と実行

1

抽出用の手順書を生成する

npx @refrainai/cli generate -- \
  --url https://crm.example.com/contacts \
  --goal "ログインして連絡先リストを CSV でエクスポートする" \
  --context ./context.md \
  --output ./extract-contacts.yaml
2

入力用の手順書を生成する

npx @refrainai/cli generate -- \
  --url https://billing.example.com/customers/new \
  --goal "新規顧客フォームに入力して送信する" \
  --context ./context.md \
  --output ./import-customers.yaml
3

連携を実行する

npx @refrainai/cli execute -- \
  --runbook ./extract-contacts.yaml \
  --secrets ./secrets.json \
  --output-dir ./sync-data

npx @refrainai/cli execute -- \
  --runbook ./import-customers.yaml \
  --data ./sync-data/contacts.csv

Refrain が向いている理由

  • ミドルウェア不要 — カスタム開発なしで任意の 2 つの Web アプリを接続。
  • CSV がブリッジ — 抽出で CSV を出力し、入力で CSV を消費。シンプルで監査可能。
  • 自己修復 — ソース・デスティネーション両方の UI 変更に自動対応。
  • 承認ゲート — デスティネーションへのデータ入力前に人間のレビューを挟める。

次のステップ