首页 帮助中心 场景构建 Scenarios 场景输入和输出

场景输入和输出

场景输入定义场景启动时可以接收的数据,场景输出定义执行完成后可以返回的数据。它们共同构成场景与调用方之间的数据契约:调用方知道应提供哪些字段,也知道可以从结果中读取哪些字段。

在场景构建器中,可以通过工具栏上的 Scenario inputs and outputs 入口查看和配置这些字段。界面用语可能随版本调整,实际操作请以当前 Make 界面和官方文档为准。

输入和输出如何流动

在父场景调用子场景的常见流程中,三个 Scenarios 模块各自承担不同职责:

  • 父场景中的 Call a scenario 选择子场景,并把上游数据映射到已定义的输入。
  • 子场景中的 Start scenario 接收这些输入,供后续模块使用。
  • 子场景中的 Return outputs 把约定的结果返回给等待结果的父场景。
  • 如果父场景采用异步调用,它不会等待输出,也不应把后续逻辑建立在尚未返回的结果上。需要返回结果时,应使用同步调用,并确保每条可能的结束路径都提供兼容的输出结构。

    哪些场景需要数据契约

    输入和输出适用于需要被其他系统调用的场景,包括:

  • 父场景调用的子场景;
  • 通过 Make API 触发并返回结构化结果的场景;
  • 作为 Make AI Agents 工具使用的场景;
  • 通过 Make MCP server 提供给 MCP client 的场景。
  • 这些入口的认证方式、可用范围和调用行为并不完全相同。输入和输出只描述数据交换,不能替代调用方认证、权限控制、错误处理或人工审批。

    选择合适的数据类型

    字段类型应尽量具体。普通文字使用 Text,数值使用 Number,真或假使用 Boolean,时间点使用 Date。一组同类项目可使用 Array,一个对象的相关字段可使用 Collection。预定义选项可使用 Select,标识符、邮件地址和网址则应选择相应的专用类型(如界面提供)。

    只有在无法提前确定结构时才考虑 Any 或动态集合。类型越宽松,下游需要承担的校验工作越多。Make 当前支持的完整类型及限制请以官方页面为准。

    定义字段时的建议

  • 名称稳定: 使用能表达业务含义的字段名,避免用 data1value 等模糊名称。
  • 描述明确: 说明字段用途、格式、单位、允许值以及是否可能为空,尤其是在场景作为 AI 工具时。
  • 最少传递: 只传递完成任务必需的数据,不要把整条客户记录或凭据放进无关输入。
  • 结构一致: 不同路由应返回相同类型的核心字段;没有结果时也要约定空值或状态的表达方式。
  • 先验证再写入: 子场景收到输入后先检查必填字段、类型和业务范围,再调用会改变外部系统的模块。
  • 谨慎变更: 删除字段、改名或改变类型可能影响所有调用方。先识别依赖,再安排兼容迁移和回归测试。
  • 示例:查询餐厅菜单

    假设父场景需要调用一个菜单查询子场景,可以定义以下输入:餐厅 ID、查询日期和可选语言。子场景校验餐厅 ID 与日期,查询数据后返回状态、菜单项集合和最后更新时间。

    父场景不需要了解子场景内部使用哪种数据库,只依赖这份输入输出约定。如果查询失败,子场景应返回可识别的状态,或进入约定的错误处理路径,而不是返回一段无法稳定解析的说明文字。

    用于 AI Agents 与 MCP 时

    当场景作为 AI Agents 或 MCP 工具时,字段名称与描述会帮助调用方理解如何填写参数及解释结果。仍应把敏感操作拆成权限受限的工具,并为删除、付款、权限修改、公开发布等高影响动作加入明确的确认步骤。不要假定自然语言调用方会自动遵守未写入工具边界的业务规则。

    关于当前支持的数据类型、API 行为和配置步骤,请查看 Make 官方场景输入和输出文档

    本文包含联盟推广链接。通过这些链接注册不会增加你的费用,但会帮助我们持续产出高质量的免费内容。

    理解概念后,先选低风险流程

    如果这个概念对应你的真实重复任务,可以先从可人工复核的小流程开始尝试。价格、额度和模块限制请以官方页面为准。

    ✓ 先跑低风险流程✓ 保留人工复核✓ 价格和额度以官方页面为准
    选好流程后打开 Make