HTTP 标注限制不允许记录触发流在更新时运行

问题描述 投票:0回答:1

我在 Salesforce 中的记录触发流程遇到了一个奇怪的问题。

基本上,每当在 Salesforce 中创建或更新记录时,我们都希望向外部 API 发送一条消息。问题是只有创建的记录在流程中成功运行,更新的记录不会运行。我们看到一条消息说

触发记录不满足条件要求,所以流程没有运行

使用 HTTP Callout 会导致一系列问题,从而导致此问题。首先,它们不能位于“立即运行”路径下,否则我们会收到此错误。

记录触发的流程无法执行在立即运行的路径中进行外部标注的操作。

因此我们创建了另一个计划路径,时间源为“创建或更新记录时”,时间源设置为0,因此它将立即运行。

但这给我们带来了另一个问题,因为路径需要输入条件,如果我们尝试将条件要求设置为“无”,我们会收到此错误:

此流程有一个计划路径,其时间源基于记录的创建或更新时间。将流程配置为仅在更新记录以满足条件要求时运行。

因此,我们设置了一个始终为真的条件要求,例如“Id 不为空”,并将流程设置为“每次更新记录并满足条件要求时”运行。但是当我们尝试保存它时遇到此错误:

此流程有一个计划路径,其时间源基于记录的创建或更新时间。将流程配置为仅在更新记录以满足条件要求时运行。

最后,我们将流程设置为“仅当更新记录以满足条件要求时”运行。

但这给我们带来了问题,因为只有当进入条件从不满足要求变为满足要求时,流程才会运行。例如:仅当记录上的 Id 从 null 更改为非 null 时才会运行。

因此更新未运行,因为 Id 字段未更改。但由于 HTTP Callout 的限制,我看不到任何绕过这些限制的方法来使 Flow 每次都运行。有没有解决的办法?或者我可以设置一个进入条件来解决这个问题?

salesforce salesforce-lightning salesforce-flow
1个回答
0
投票

该流程设计为仅在记录更新且条件要求发生变化时触发。但是,您的要求是让流程在每次更新时执行,无论条件要求是否发生变化。

一种可能的解决方案是在记录上使用公式字段,该公式字段在每次更新记录时都会更改(请参阅“在公式中引用记录类型的提示”)。该字段可以是时间戳或每次更新时递增的计数器。这样,流的条件将始终得到满足,从而触发 HTTP Callout

例如,您可以使用以下公式创建一个名为

LastModifiedDateFormula
的公式字段:

TEXT(LastModifiedDate)

然后,设置流的条件以检查

LastModifiedDateFormula
是否不为空(它始终为空)。这将确保您的流程在每次更新时运行。

© www.soinside.com 2019 - 2024. All rights reserved.