mcpField
D
docusign-automation

docusign-automation

github.com/davepoonドキュメント3.7k119 回インストール1 日前に更新
リポジトリ

docusign-automation について

Rube MCP と Composio を介して、DocuSign の電子署名ワークフローを自動化するスキルです。テンプレートの検索、エンベロープの作成と送信、エンベロープや受信者の状態追跡に対応します。

主な機能

  1. 01テンプレートの一覧表示と確認
  2. 02テンプレートからのエンベロープ作成
  3. 03受信者へのテンプレートロール割り当て
  4. 04ドラフトエンベロープの送信
  5. 05エンベロープと受信者の状態追跡
  6. 06ドラフトエンベロープへのテンプレート追加

活用シーン

  1. 01署名ワークフロー用テンプレートの検索
  2. 02指定した署名者への文書送信
  3. 03受信者ごとの署名進捗確認
  4. 04既存のドラフトへのテンプレート追加

MCP 対応

Rube MCP 経由で Composio の DocuSign ツールキットを利用します。有効な DocuSign 接続と、RUBE_SEARCH_TOOLS による最新ツールスキーマの取得が必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davepoon/buildwithclaude --skill docusign-automation

インストール後、Claude Code で/docusign-automationを入力して読み込まれたか確認します。

詳細

Rube MCP による DocuSign の自動化

Rube MCP を通じて Composio の DocuSign ツールキットを利用し、DocuSign の電子署名ワークフローを自動化します。

ツールキットのドキュメント:composio.dev/toolkits/docusign

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
  • ツールキット docusign を指定した RUBE_MANAGE_CONNECTIONS による、有効な DocuSign 接続があること
  • 常に最初に RUBE_SEARCH_TOOLS を呼び出して、最新のツールスキーマを取得すること

セットアップ

Rube MCP を取得する:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで利用できます。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確認します
  2. ツールキット docusign を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクに従って DocuSign OAuth を完了します
  4. ワークフローを実行する前に、接続状態が ACTIVE であることを確認します

主なワークフロー

1. テンプレートの閲覧と選択

使用する場面:送信可能なドキュメントテンプレートを探したい場合

ツールの順序:

  1. DOCUSIGN_LIST_ALL_TEMPLATES - 利用可能なテンプレートをすべて一覧表示します[必須]
  2. DOCUSIGN_GET_TEMPLATE - テンプレートの詳細情報を取得します[任意]

主なパラメーター:

  • 一覧表示の場合:検索/フィルター用の任意パラメーター
  • 詳細情報の場合:templateId(一覧表示の結果から取得)
  • レスポンスにはテンプレートの templateId、name、description、ロール、フィールドが含まれます

注意点:

  • テンプレート ID は GUID です(例:'12345678-abcd-1234-efgh-123456789012')
  • テンプレートには署名タブを含む受信者ロールが定義されています。エンベロープを作成する前にロールを確認してください
  • 大規模なテンプレートライブラリではページネーションが必要です。継続トークンを確認してください
  • テンプレートへのアクセスはアカウント権限によって異なります
2. テンプレートからのエンベロープの作成と送信

使用する場面:事前に作成されたテンプレートを使って、署名用ドキュメントを送信したい場合

ツールの順序:

  1. DOCUSIGN_LIST_ALL_TEMPLATES - 使用するテンプレートを探します[前提条件]
  2. DOCUSIGN_GET_TEMPLATE - テンプレートのロールとフィールドを確認します[任意]
  3. DOCUSIGN_CREATE_ENVELOPE_FROM_TEMPLATE - エンベロープを作成します[必須]
  4. DOCUSIGN_SEND_ENVELOPE - 署名用にエンベロープを送信します[必須]

主なパラメーター:

  • CREATE_ENVELOPE_FROM_TEMPLATE の場合:
    • templateId:使用するテンプレート
    • templateRoles:roleName、name、email を含むロール割り当ての配列
    • status:'created'(下書き)または 'sent'(即時送信)
    • emailSubject:署名メールのカスタム件名
    • emailBlurb:署名メールのカスタムメッセージ
  • SEND_ENVELOPE の場合:
    • envelopeId:作成時のレスポンスに含まれるエンベロープ ID

注意点:

  • templateRoles は、テンプレートで定義されたロール名と完全に一致する必要があります(大文字と小文字を区別します)
  • 作成時に status を 'sent' に設定すると、すぐに送信されます。下書きには 'created' を使用してください
  • 作成時のステータスが 'sent' の場合、別途 SEND_ENVELOPE を呼び出す必要はありません
  • 各ロールには最低限 roleName、name、email が必要です
  • emailSubject は、テンプレートのデフォルトのメール件名を上書きします
3. エンベロープのステータスの確認

使用する場面:送信済みエンベロープのステータスを確認したり、署名の進捗状況を追跡したりしたい場合

ツールの順序:

  1. DOCUSIGN_GET_ENVELOPE - エンベロープの詳細とステータスを取得します[必須]

主なパラメーター:

  • envelopeId:エンベロープ識別子(GUID)
  • レスポンスには status、recipients、sentDateTime、completedDateTime が含まれます

注意点:

  • エンベロープのステータス:'created'、'sent'、'delivered'、'signed'、'completed'、'declined'、'voided'
  • 'delivered' はメールが開封されたことを意味し、ドキュメントに署名されたことを意味するわけではありません
  • 'completed' は、すべての受信者が署名したことを意味します
  • 受信者配列には、受信者ごとの署名ステータスが表示されます
  • エンベロープ ID は GUID です。必ず作成結果または検索結果から取得してください
4. 既存のエンベロープにテンプレートを追加する

使用するタイミング:既存のエンベロープに書類やテンプレートを追加したい場合

ツールの順序:

  1. DOCUSIGN_GET_ENVELOPE - エンベロープが存在し、下書き状態であることを確認します[前提条件]
  2. DOCUSIGN_ADD_TEMPLATES_TO_DOCUMENT_IN_ENVELOPE - エンベロープにテンプレートを追加します[必須]

主なパラメーター:

  • envelopeId:対象のエンベロープ ID
  • documentId:エンベロープ内の書類 ID
  • templateId:追加するテンプレート

注意点:

  • テンプレートを追加するには、エンベロープが「created」(下書き)状態である必要があります
  • 送信済みのエンベロープにはテンプレートを追加できません
  • 書類 ID はエンベロープ内で連番になっています(「1」から開始)
  • テンプレートを追加すると、そのフィールドとロールが既存のエンベロープに統合されます
5. エンベロープのライフサイクルを管理する

使用するタイミング:エンベロープを送信、無効化したり、下書きのエンベロープを管理したりする場合

ツールの順序:

  1. DOCUSIGN_GET_ENVELOPE - 現在のエンベロープのステータスを確認します[前提条件]
  2. DOCUSIGN_SEND_ENVELOPE - 下書きのエンベロープを送信します[任意]

主なパラメーター:

  • envelopeId:管理するエンベロープ
  • 送信する場合:エンベロープが「created」状態で、必要な受信者がすべて設定されている必要があります

注意点:

  • 送信できるのは「created」(下書き)状態のエンベロープのみです
  • 送信済みのエンベロープは送信を取り消せません。無効化のみ可能です
  • エンベロープを無効化すると、すべての受信者に通知されます
  • 送信前に、必要な受信者全員に有効なメールアドレスが設定されている必要があります

よくあるパターン

ID の解決

テンプレート名 -> テンプレート ID:

1. Call DOCUSIGN_LIST_ALL_TEMPLATES
2. Find template by name in results
3. Extract templateId (GUID format)

エンベロープの追跡:

1. Store envelopeId from CREATE_ENVELOPE_FROM_TEMPLATE response
2. Call DOCUSIGN_GET_ENVELOPE periodically to check status
3. Check recipient-level status for individual signing progress
テンプレートのロールのマッピング

テンプレートからエンベロープを作成する場合:

1. Call DOCUSIGN_GET_TEMPLATE to see defined roles
2. Map each role to actual recipients:
   {
     "roleName": "Signer 1",     // Must match template role name exactly
     "name": "John Smith",
     "email": "[email protected]"
   }
3. Include ALL required roles in templateRoles array
エンベロープのステータスの遷移
created (draft) -> sent -> delivered -> signed -> completed
                       \-> declined
                       \-> voided (by sender)

既知の注意点

テンプレートのロール:

  • ロール名では大文字と小文字が区別されます。テンプレートの定義と完全に一致させる必要があります
  • エンベロープの作成時に、必要なロールをすべて割り当てる必要があります
  • ロールの割り当てが不足していると、エンベロープの作成に失敗します

エンベロープのステータス:

  • 「delivered」はメールが開封されたことを意味し、書類への署名を意味するものではありません
  • 「completed」は最終的な成功状態です(すべての当事者が署名済み)
  • ステータスの遷移は一方向で、前の状態に戻すことはできません

GUID:

  • すべての DocuSign ID(テンプレート、エンベロープ)は GUID 形式です
  • 常にリスト/検索エンドポイントを使って名前を GUID に解決してください
  • GUID をハードコードしないでください。アカウントごとに一意です

レート制限:

  • DocuSign API にはアカウントごとのレート制限があります
  • エンベロープを一括作成する場合は、リクエストを適切に間隔を空けてください
  • エンベロープのステータスをポーリングする場合は、適切な間隔(30〜60 秒)を使用してください

レスポンスの解析:

  • レスポンスデータは data キーの下にネストされている場合があります
  • 受信者情報はエンベロープのレスポンス内にネストされています
  • 日付フィールドには ISO 8601 形式が使用されます
  • オプションのフィールドに対する代替処理を用意し、堅牢に解析してください

クイックリファレンス

タスクツールスラッグ主なパラメーター
テンプレートの一覧表示DOCUSIGN_LIST_ALL_TEMPLATES(任意のフィルター)
テンプレートの取得DOCUSIGN_GET_TEMPLATEtemplateId
エンベロープの作成DOCUSIGN_CREATE_ENVELOPE_FROM_TEMPLATEtemplateId, templateRoles, status
エンベロープの送信DOCUSIGN_SEND_ENVELOPEenvelopeId
エンベロープのステータス取得DOCUSIGN_GET_ENVELOPEenvelopeId
エンベロープへのテンプレート追加DOCUSIGN_ADD_TEMPLATES_TO_DOCUMENT_IN_ENVELOPEenvelopeId, documentId, templateId

Composio 提供

コメント