动作类型详解

Webhook

Webhook 是动作"对外部系统说话"的通道:当有人在 Foundry 里执行动作,就向外部系统(如 Salesforce、SAP 或任意 HTTP 服务)发一个请求,把决策写回去。这一篇讲清两种配置模式与参数机制。

原文 Palantir Foundry · Action types
本文来源 · Source 内容整理自 Palantir Foundry 官方文档:
https://www.palantir.com/docs/foundry/action-types/webhooks/
原始标题:Webhooks

一句话速览

Webhook:Webhook 是动作"对外部系统说话"的通道:当有人在 Foundry 里执行动作,就向外部系统(如 Salesforce、SAP 或任意 HTTP 服务)发一个请求,把决策写回…

1 Webhook 是什么
Webhook 本是属于 Data Connection 的一个概念:向外部系统(如 Salesforce、SAP 或任意配置好的…
2 输入参数(input parameters)
在动作里配 Webhook,必须填完它所有必填输入参数
3 输出参数(output parameters)
当一个 Webhook 配成 writeback 时,它的输出参数可以在后续规则里使用——比如外部系统返回的数据,你想立刻写进某个…
4 OAuth 2.0 鉴权
当 Webhook 配置在一个使用出站应用(outbound application)做鉴权的 REST API 源上时,Found…
1

Webhook 是什么

一个把请求"发到 Foundry 之外"的概念,让本体工作流直接连上源系统。

Webhook 本是属于 Data Connection 的一个概念:向外部系统(如 Salesforce、SAP 或任意配置好的 HTTP 服务器)发送请求,通常是为了修改那个外部系统的数据。

By setting up a webhook and then configuring it for use in an action, you can send data to an external system when end users apply an action in Foundry.配置好一个 Webhook 并把它用在动作里,就能在最终用户于 Foundry 中执行动作时,把数据发往外部系统。

在动作里用 Webhook,有两种配置方式:作为 writeback(写回),或作为 side effect(副作用)。它们的关键区别在于执行时机失败是否暴露给用户。下节细说。

2

写回(writeback)vs 副作用(side effect)

核心差异:在对象改动之前还是之后执行,失败是否给用户看。

类型执行时机失败会显示给用户吗?
Writeback对象改动之前会(用户看到错误)
Side effect对象改动之后不会(可能成功提示后才跑)

把每行描述归到正确的模式(点击右侧):

SIDESide effect:先改本体 → 再发请求
用户先看到成功,Webhook 之后尽力执行。
适合"尽力而为"的通知、或写回多个外部系统。可配多个,顺序不保证。若想一次调用多次,可让函数返回一个 payload 列表,按列表逐个触发(顺序也不保证)。
WRITEWriteback:先发请求 → 再改本体
外部失败则本体不改,带一点"事务感"。
因为失败就停,所以一个动作里只能配一个 writeback。它带来 Foundry 与外部系统之间一定程度的事务性:外部请求失败则本体不被改动(但仍有"外部成功、本体失败"的可能)。
提示:想要"best-effort 通知 / 写回多个系统"→ side effect;想要"外部不成、本体不改"→ writeback。
3

输入参数(input parameters)

必填输入要么映射到动作参数,要么用一个函数算出来。

在动作里配 Webhook,必须填完它所有必填输入参数。两种方式:

  • 映射到动作参数:每个必填输入可设为"同类型的动作参数""静态值"或"对象参数的属性"。
  • 用函数(Function):选一个返回自定义类型、且强匹配 Webhook 输入结构的函数;否则会报 OntologyMetadata:ActionWebhookInputsDoNotHaveExpectedType 错误。

函数方式特别适合"用逻辑填输入",尤其是基于本体对象取值——比如取关联对象、拉它的属性来预填 Webhook 输入。函数还能返回一个payload 列表,让一个 side effect Webhook 被触发多次。

4

输出参数(output parameters)

只有 writeback 才有;把外部返回的数据接回本体。

当一个 Webhook 配成 writeback 时,它的输出参数可以在后续规则里使用——比如外部系统返回的数据,你想立刻写进某个 Foundry 对象,或用在随后的通知 / 另一个 side effect Webhook 中。

用法:在填某个逻辑规则的值时,选 Writeback response,再挑你要用的那个具体输出即可。

Side effect 模式没有"输出参数可被后续规则使用"这一说,因为它在对象改动之后才跑。

5

OAuth 2.0 鉴权

用出站应用(outbound application)时,Foundry 帮你管 token。

当 Webhook 配置在一个使用出站应用(outbound application)做鉴权的 REST API 源上时,Foundry 会代你完成 OAuth 2.0 授权流程:开发者无需自己获取或刷新 token,Foundry 在每次 Webhook 调用时自动带上正确的访问令牌(access token)。

点击揭晓:配置在 REST API 源、用出站应用鉴权的 Webhook,token 谁来管理?

一页带走

① 两种模式
Writeback 先外后内、失败可见;Side effect 先内后外、尽力而为。
② 输入两法
映射动作参数,或函数强匹配返回;函数可返回 payload 列表。
③ 输出仅写回
只有 writeback 的输出参数可在后续规则里用(Writeback response)。
④ 鉴权托管
出站应用下 Foundry 自动完成 OAuth 2.0,调用自带 token。

延伸阅读 · 相关页面

按主题横向跳转,不必顺着目录一篇篇读。

常见问题速答 · FAQ

关于「Webhook」,读者最常问的几个问题。

Webhook 是什么?
Webhook 本是属于 Data Connection 的一个概念:向外部系统(如 Salesforce、SAP 或任意配置好的 HTTP 服务器)发送请求,通常是为了修改那个外部系统的数据。
OAuth 2.0 鉴权是什么?
当 Webhook 配置在一个使用出站应用(outbound application)做鉴权的 REST API 源上时,Foundry 会代你完成 OAuth 2.0 授权流程:开发者无需自己获取或刷新 token,Foundry 在每次 Webhook 调…