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)
  • 通过 RUBE_MANAGE_CONNECTIONS 激活 DocuSign 连接,并使用工具包 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' 表示所有收件人均已签署
  • recipients 数组显示每位收件人的签署状态
  • 信封 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 提供支持

评论

支持 Markdown