docusign-automation について
Rube MCP と Composio の DocuSign ツールキットで電子署名ワークフローを自動化するスキルです。テンプレートの確認、エンベロープの作成・送信、署名状況の追跡を案内します。
主な機能
- 01テンプレートとロールの確認
- 02テンプレートからのエンベロープ作成・送信
- 03エンベロープと受信者の状況確認
- 04下書きエンベロープへのテンプレート追加
- 05下書きエンベロープの送信管理
活用シーン
- 01署名に使うテンプレートの検索
- 02指定した署名者への文書送信
- 03受信者ごとの署名状況の追跡
- 04既存の下書きへのテンプレート追加
MCP 対応
Rube MCP 経由で Composio の DocuSign ツールキットを利用します。ワークフローには DocuSign への有効な接続と、事前のツール定義取得が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ composiohq/ awesome-claude-skills --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 キーは不要です。エンドポイントを追加するだけで利用できます。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確認します- ツールキット
docusignを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って DocuSign OAuth を完了します
- ワークフローを実行する前に、接続状態が ACTIVE であることを確認します
主なワークフロー
1. テンプレートの閲覧と選択
使用する場面:送信可能なドキュメントテンプレートを探したい場合
ツールの順序:
DOCUSIGN_LIST_ALL_TEMPLATES- 利用可能なテンプレートをすべて一覧表示します[必須]DOCUSIGN_GET_TEMPLATE- テンプレートの詳細情報を取得します[任意]
主なパラメーター:
- 一覧表示の場合:検索/フィルター用の任意パラメーター
- 詳細情報の場合:
templateId(一覧表示の結果から取得) - レスポンスにはテンプレートの
templateId、name、description、ロール、フィールドが含まれます
注意点:
- テンプレート ID は GUID です(例:'12345678-abcd-1234-efgh-123456789012')
- テンプレートには署名タブを含む受信者ロールが定義されています。エンベロープを作成する前にロールを確認してください
- 大規模なテンプレートライブラリではページネーションが必要です。継続トークンを確認してください
- テンプレートへのアクセスはアカウント権限によって異なります
2. テンプレートからのエンベロープの作成と送信
使用する場面:事前に作成されたテンプレートを使って、署名用ドキュメントを送信したい場合
ツールの順序:
DOCUSIGN_LIST_ALL_TEMPLATES- 使用するテンプレートを探します[前提条件]DOCUSIGN_GET_TEMPLATE- テンプレートのロールとフィールドを確認します[任意]DOCUSIGN_CREATE_ENVELOPE_FROM_TEMPLATE- エンベロープを作成します[必須]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. エンベロープのステータスの確認
使用する場面:送信済みエンベロープのステータスを確認したり、署名の進捗状況を追跡したりしたい場合
ツールの順序:
DOCUSIGN_GET_ENVELOPE- エンベロープの詳細とステータスを取得します[必須]
主なパラメーター:
envelopeId:エンベロープ識別子(GUID)- レスポンスには
status、recipients、sentDateTime、completedDateTimeが含まれます
注意点:
- エンベロープのステータス:'created'、'sent'、'delivered'、'signed'、'completed'、'declined'、'voided'
- 'delivered' はメールが開封されたことを意味し、ドキュメントに署名されたことを意味するわけではありません
- 'completed' は、すべての受信者が署名したことを意味します
- 受信者配列には、受信者ごとの署名ステータスが表示されます
- エンベロープ ID は GUID です。必ず作成結果または検索結果から取得してください
4. 既存のエンベロープにテンプレートを追加する
使用するタイミング:既存のエンベロープに書類やテンプレートを追加したい場合
ツールの順序:
DOCUSIGN_GET_ENVELOPE- エンベロープが存在し、下書き状態であることを確認します[前提条件]DOCUSIGN_ADD_TEMPLATES_TO_DOCUMENT_IN_ENVELOPE- エンベロープにテンプレートを追加します[必須]
主なパラメーター:
envelopeId:対象のエンベロープ IDdocumentId:エンベロープ内の書類 IDtemplateId:追加するテンプレート
注意点:
- テンプレートを追加するには、エンベロープが「created」(下書き)状態である必要があります
- 送信済みのエンベロープにはテンプレートを追加できません
- 書類 ID はエンベロープ内で連番になっています(「1」から開始)
- テンプレートを追加すると、そのフィールドとロールが既存のエンベロープに統合されます
5. エンベロープのライフサイクルを管理する
使用するタイミング:エンベロープを送信、無効化したり、下書きのエンベロープを管理したりする場合
ツールの順序:
DOCUSIGN_GET_ENVELOPE- 現在のエンベロープのステータスを確認します[前提条件]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_TEMPLATE | templateId |
| エンベロープの作成 | DOCUSIGN_CREATE_ENVELOPE_FROM_TEMPLATE | templateId, templateRoles, status |
| エンベロープの送信 | DOCUSIGN_SEND_ENVELOPE | envelopeId |
| エンベロープのステータス取得 | DOCUSIGN_GET_ENVELOPE | envelopeId |
| エンベロープへのテンプレート追加 | DOCUSIGN_ADD_TEMPLATES_TO_DOCUMENT_IN_ENVELOPE | envelopeId, documentId, templateId |
Composio 提供