You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Metadata Tooling Api创建Workflow字段更新?创建失败求助

使用MetadataService创建Workflow字段更新失败的排查与修复

你的代码里存在几个关键问题,这是导致创建操作失败的核心原因:

  • SessionId设置错误:Metadata API的SessionHeader不需要拼接Org Id和SessionId,直接使用UserInfo.getSessionId()赋值即可,原拼接方式会导致认证失败。
  • fullName格式不符合规范:WorkflowFieldUpdate的fullName必须遵循[对象API名].[字段更新API名]的格式,你只写了字段更新的名称,系统无法识别它的归属对象。
  • 字段引用冗余:field属性只需填写字段的API名即可,不需要带上对象前缀——因为已经通过targetObject指定了所属对象。
  • Literal值类型可能不匹配:如果Status__c是数值型字段,把literalValue设为字符串'1'会导致类型不兼容,需改成数值类型;如果是picklist字段,要确认值是该选项的API值而非显示值。

修正后的完整代码

MetadataService.MetadataPort service = new MetadataService.MetadataPort();
// 修正SessionId设置
service.SessionHeader = new MetadataService.SessionHeader_element();
service.SessionHeader.sessionId = UserInfo.getSessionId();

MetadataService.WorkflowFieldUpdate workflowFieldUpdate = new MetadataService.WorkflowFieldUpdate();

// Workflow Field Update
workflowFieldUpdate.fullName           = 'Expense__c.TEST_Active_Permission'; // 修正fullName格式
workflowFieldUpdate.description        = 'Activates a permission.';
workflowFieldUpdate.field              = 'Status__c'; // 去掉对象前缀
workflowFieldUpdate.literalValue       = '1'; // 若为数值型字段,改为1(根据实际字段类型调整)
workflowFieldUpdate.name               = 'TEST Active Permission';
workflowFieldUpdate.notifyAssignee     = false;
workflowFieldUpdate.operation          = 'Literal';
workflowFieldUpdate.protected_x        = false;
workflowFieldUpdate.reevaluateOnChange = true;
workflowFieldUpdate.targetObject       = 'Expense__c';

MetadataService.Metadata[] theMetadata = new MetadataService.Metadata[]{workflowFieldUpdate};
MetadataService.SaveResult[] results = service.createMetadata(theMetadata);

// 打印详细错误信息,精准定位问题
for(MetadataService.SaveResult res : results){
    if(!res.success){
        for(MetadataService.Error err : res.errors){
            System.debug('错误信息:' + err.message + ',关联字段:' + err.field);
        }
    }
}

另外建议你不要只打印results整体,而是遍历每个SaveResult的错误信息,这样能直接看到具体的失败原因,比如权限不足、字段不存在、格式错误等。

内容的提问来源于stack exchange,提问作者Bharat Motwani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 15:40:50