コンテンツにスキップ

自動化

Lark Base のオートメーションを使ってドキュメント生成を自動化します。レコードの作成・更新時や、特定の条件を満たしたときに自動でドキュメントを生成できます。

  1. テンプレート タブを開きます。
  2. 自動化 セクションを開き、HTTPトリガー を展開します。
  3. 表示された Webhook URL をコピーします。

2. Lark Base オートメーションを設定する

Section titled “2. Lark Base オートメーションを設定する”
  1. Base を開き → Automations を選びます。
  2. 新しいオートメーションを作成します。
  3. トリガーを追加します(例: 「When record is created」)。
  4. アクション Send HTTP Request を追加します。
  5. 設定: Method = POST、URL = コピーした Webhook URL + ?recordId={{record_id}}。
  6. ヘッダーを追加: X-Webhook-API-Key: <your API key>。

Webhook URL の形式:

https://api.automadoc.cc/api/webhook/templates/{templateId}/generate?recordId={recordId}

キーには、テンプレート自身のキーか会社の API キーを使えます。会社の API キーはアプリ管理者が会社ポータルの 会社 → API キー で作成するもので、すべてのテンプレートに使えます。レスポンスには、開始したドキュメントの generationIds が含まれます。それぞれの状況は GET /api/v1/documents/{generationId} で確認できます。

ドキュメントの署名を依頼する

Section titled “ドキュメントの署名を依頼する”

生成した各ドキュメントの署名を依頼するには、Send HTTP Request ステップに JSON ボディ(Content-Type: application/json)を指定します。

{ "sign": {} }

署名者はレコードから読み取られます。読み取り元は テンプレート タブの 自動化による署名依頼 で設定します。社外の人のリンクと自動生成のパスワードはレコードに書き戻されるので、オートメーションからメールで送れます。代わりにリクエストの中で署名者を指定するには、ドキュメント API と同じ形式で、役割ごとに signers を指定します。電子署名を参照してください。

どのレシピも最後のステップは同じです。Send HTTP Request で、メソッドを POST、URL を Webhook URL の後に ?recordId= とトリガーが見つけたレコードのレコード ID を続けたものにし、ヘッダー X-Webhook-API-Key を付けます。変わるのはトリガーだけです。トリガーの名前は Lark のバージョンによって多少異なります。

レコードが追加されたとき:新しいレコードごとにドキュメントを作成します。たとえば、依頼が入力されたらすぐに見積書を作成します。新しいレコード用のトリガーとテーブルを選びます。

レコードが編集されたとき:レコードが変更されたら、ドキュメントを作り直します。変更されたレコード用のトリガーを選び、監視するフィールド(たとえば Amount と Customer だけ)を指定すると、関係のない編集で新しいドキュメントが作られることはありません。

レコードが条件を満たしたとき:レコードが特定の状態になった時点でドキュメントを作成します。たとえば、Status が Approved になったときです。最もよく使われるレシピで、条件が成立した時点で1回だけ実行されます。

日付になったとき:レコード内の日付にドキュメントを作成します。たとえば、Due date の当日やその7日前に督促状を作成します。日付フィールドとオフセットを選びます。

スケジュールで:決まった時刻にドキュメントを作成します。たとえば、毎週月曜日の9:00です。スケジュールにはそれ自体のレコードがないため、Find records ステップ(たとえば「Status is Open」)を追加し、見つかったレコードについて、そのレコード ID を使って HTTP リクエストを送信します。リクエストがレコードごとに1回送信されることを、テスト実行で確認してください。

AnyCross やその他の HTTP クライアントから

Section titled “AnyCross やその他の HTTP クライアントから”

AnyCross などの連携ツールからは、通常の HTTP リクエストノードで AutomaDoc を呼び出せます。Base のレコードから生成するには、上記の HTTPトリガーを使います。フォームや ERP など、Base にないデータから生成するには、データを JSON で受け取るドキュメント API を使います。

設定 値
メソッド POST
URL https://api.automadoc.cc/api/v1/templates/{templateId}/documents?wait=20
ヘッダー X-Webhook-API-Key: テンプレートまたは会社の API キー
ヘッダー Content-Type: application/json
ボディ {"data": { … the fields of your document … }}

?wait=20 を付けると、ドキュメントの準備ができてからレスポンスが返ります。その downloadUrl を次のノードに渡せば、メッセージにファイルを添付したり、Drive に保存したりできます。

プランに関する拒否の場合、HTTPトリガーは JSON 本文に code を含めて 403 を返します。

code 理由 対処
AUTOMATION_NOT_INCLUDED 会社に Pro プラン、有効なトライアル、Business シートのいずれもありません。 会社ポータルの請求ページで Business シートまたは Pro を購入してください。
QUOTA_EXCEEDED Business シートに含まれる自動生成ドキュメントと月間の無料枠を使い切り、残りのあるドキュメントパックもありません。 請求ページでドキュメントパックを購入するか、次の期間までお待ちください。
TEMPLATE_DISABLED テンプレートがロックされています。会社のテンプレート数がプランの上限を超えています。 請求ページでテンプレート枠を増やす(プラン、シート、または追加テンプレート)か、テンプレートを削除してください。ロックされたテンプレートは24時間以内に戻ります。

X-Webhook-API-Key がない場合は 401(API_KEY_MISSING)、キーが誤っているかこのテンプレートを開けない場合は 403(API_KEY_INVALID)で拒否されます。

HTTPトリガーはテンプレートごとに 1 分間 300 リクエストまで受け付けます。これは独自の上限です。Lark の自動化は各レコードを 1 回だけ送信して再試行しないため、ドキュメント API の 60 回は適用されません。生成されるドキュメントは、ドキュメント API と共通の、会社ごとに 1 分間 600 ドキュメントの上限に数えられます。どちらかを超えると 429(RATE_LIMITED)が返され、そのリクエストのドキュメントは作成されないため、非常に大きなインポートは数分に分けてください。そのほかの拒否にもすべて code があります。たとえば RECORD_ID_REQUIRED(400、recordId がない)や WORKER_UNAVAILABLE(502、しばらくしてから再試行)です。

ドキュメントの生成完了時に通知を受け取れます。後続の自動化をつなげるのに便利です。

  1. テンプレート タブで 自動化 セクションを開き、Webhookコールバック をオンにします。
  2. Webhook の URL を入力します。
  3. 必要に応じて、認証用の Bearer トークンを追加します。

AutomaDoc は次の JSON ボディで POST を送信します。

{
"url": "https://api.automadoc.cc/...?expires=...&signature=...",
"filename": "Invoice-INV-2024-001.pdf",
"fields": { "Customer_Name": "Acme Corp", "Total_Amount": "1,500.00" }
}
  • url:署名付きダウンロードリンク。有効期限は 2時間 です。
  • filename:ファイル名パターンを適用した後の最終的なファイル名。
  • fields:生成に使用したレコードの単純な値(テキスト、数値、日付など。文書に出力されるとおりの形式)。リンクされたレコード、リスト、添付ファイルは含まれません。
  • warnings:生成時に警告があった場合のみ。取得できなかった画像など(フィールド名と URL のホストで示します)。

Bearer トークンを設定した場合は Authorization ヘッダーで送信されます。

  • 後続の Lark オートメーションをトリガーする
  • ボット経由で Lark Messenger に通知を送る
  • Lark 承認ワークフローと連携する:申請が承認されたときにドキュメントを生成するなら、自動化が不要な承認ドキュメントを参照
  • ドキュメントを Lark Docs や Drive に保管する