程序化访问 Prompt TemplatePrompt Builder 让你创建和管理能整合 CRM 数据的提示模板merge fields、flows、related lists、Apex。有三种程序化访问方式方式适用场景关键接口Connect REST API外部 Web 应用集成Prompt Template Generations Resource。请求指定模板 输入参数。响应生成文本 引用citationsConnect in Apex组织内 Apex 代码集成ConnectApi.EinsteinLLM.generateMessagesForPromptTemplate()。传入开发者名称 输入参数获取生成文本和可选引用citationMode: post_generationInvocable Actions平台级集成Flow Builder 等Generate Prompt Response Invocable Action。从 Flow Builder、Process Builder 或其他可调用上下文中调用跨组织部署使用 Metadata API 的 GenAiPromptTemplate模板定义和 GenAiPromptTemplateActv激活状态在 Sandbox 和 Production 组织之间部署。Prompt Template 批处理Batch Processing使用AiJobRun和AiJobRunItem对象异步生成大规模响应。典型用例夜间总结 Case 积压、批量内容生成、批量翻译、大规模记录充实。三步批处理模式步骤 1 — 创建 AiJobRunAiJobRun jobRun new AiJobRun( JobType PromptTemplate, Target Summarize_Case, // DeveloperName 推荐用于跨组织可移植性 Status New ); insert as user jobRun;步骤 2 — 创建 AiJobRunItem 记录每个输入记录一条MapString, Object payload new MapString, Object{ Input:Case new MapString, Object{ id c.Id } }; items.add(new AiJobRunItem( AiJobRunId jobRun.Id, Status Ready, Input JSON.serialize(payload) )); insert as user items; // Input 格式: {Input:Case:{id:CaseId}} // Response 格式: {promptResponse:LLM text}步骤 3 — 翻转为 ReadyToStartjobRun.Status ReadyToStart; update as user jobRun; // 此后不可更改不可变性规则生效关键约束约束说明不可变性一旦进入 InProgressAiJobRunId/Input 字段不可更改不能删除状态变更InProgress、Completed、Failed —— 用户无法更改速率限制标准1,000 条/AiJobRun原生批处理模型10,000 条/AiJobRunApex最多 5 个 AiJobRun/24 小时处理顺序多个 ReadyToStart 作业按 CreatedDate 排列如秒级内更新精确顺序不保证作业监控和平台事件使用AiJobRunStatusEvent平台事件监控作业完成状态。事件在每个状态转换时触发InProgress → Completed → Failed。事件 SchemaAiJobRunIdentifier父 Id、Status、JobType、Target。Trigger — 过滤 Completed 事件trigger AiJobRunStatusEventTrigger on AiJobRunStatusEvent (after insert) { SetId completedJobRunIds new SetId(); for (AiJobRunStatusEvent e : Trigger.new) { if (e.Status Completed String.isNotBlank(e.AiJobRunIdentifier)) { completedJobRunIds.add((Id) e.AiJobRunIdentifier); } } // 调用 Handler }Handler — 处理已完成项目查询 AiJobRunItem WHERE AiJobRunId IN :completedJobRunIds AND Status Completed提取 Input JSON → 解析 caseId{Input:Case:{id:CaseId}}提取 Response JSON → 解包 promptText{promptResponse:LLM text}将结果写回如作为 CaseComment生产环境注意事项去重平台事件可能被重新投递 —— 按 AiJobRunId ParentId 去重失败处理项目可能以 StatusFailed 结束 —— 与成功记录一起查询异步写回对接近 10,000 条的限制将写回操作转移到 Database.Batchable 或 Queueable异常处理始终捕获异常 —— 未捕获异常会导致事件批次失败9 次重试后平台会禁用订阅完整模式创建 AiJobRun (New) → 2. 创建 AiJobRunItem 列表 (Ready) → 3. 更新为 ReadyToStart订阅 AiJobRunStatusEvent (Completed) → 5. 处理结果解析 Input 获取源记录 Id → 解析 Response 获取 LLM 文本 → 写回Prompt Builder 从单个模板调用到数千条记录的批量处理为你提供了强大、受管控的方式将生成式 AI 整合到 Salesforce 工作流中。发布来源Agentforce Prompt Builder 程序化访问与批处理指南 | Salesforce CRM 中文站