Salesforce商业上下文工具

一个为AI代理提供Salesforce商机记录全面商业上下文的工具,包括交易阶段、财务指标、合同条款等信息。

  • by patrickcharleslumi
  • 本地部署
  • 更新于
在 GitHub 查看 patrickcharleslumi/salesforce-MCP

使用说明

Paddy MCP-Salesforce商业环境工具

这种Prismatic集成将Salesforce商业上下文工具作为AI代理的MCP(模型上下文协议)工具公开。它提供了一个专注的工具,用于从Salesforce Opportunity记录中检索全面的商业背景。

这种集成有什么作用

这种集成提供了一种人工智能代理可以使用的MCP工具:

  • 获取Salesforce商业环境:从Salesforce Opportunity记录中检索全面的商业背景,包括交易阶段、财务指标、合同条款、续订信息、采购详细信息和客户健康状况

当人工智能代理需要交易的商业背景时,它可以:

  1. 通过MCP发现此工具
  2. 通过JSON模式了解工具的参数
  3. 使用商机ID或名称调用工具
  4. 同步接收结果以用于推理

主要特点

代理兼容流

使用中的两个关键属性将流配置为代理流 flows.ts:

  • isAgentFlow: true:使AI代理可以通过MCP发现和调用流
  • isSynchronous: true:确保流同步执行并立即返回结果,以便AI代理可以在推理过程中使用响应

JSON模式工具定义

该流在 schemas.invoke 向AI代理描述工具的属性:

schemas: {
  invoke: {
    $schema: "https://json-schema.org/draft/2020-12/schema",
    $comment: "Retrieve comprehensive commercial context from Salesforce Opportunity records",
    title: "get-salesforce-commercial-context",
    type: "object",
    properties: {
      opportunityId: {
        type: "string",
        description: "Salesforce Opportunity ID (e.g., 006XXXXXXXXXXXXXXX). Optional if opportunityName provided.",
      },
      opportunityName: {
        type: "string",
        description: "Opportunity Name to search for. Optional if opportunityId provided.",
      },
    },
  },
}

此模式用作工具的接口定义:

  • 这 title 成为AI代理看到的工具名称
  • 这 $comment 解释工具的用途和用法
  • 这 properties 使用描述定义工具的参数
  • 这 description 字段帮助AI代理了解每个参数的作用

使用Zod进行有效载荷验证

流量使用 萨德 验证和解析来自AI代理的传入参数:

const SalesforceCommercialContextSchema = zod
  .object({
    opportunityId: zod.string().optional(),
    opportunityName: zod.string().optional(),
  })
  .refine((data) => data.opportunityId || data.opportunityName, {
    message: "Either opportunityId or opportunityName must be provided",
  });

这提供了:

  • 类型安全性:确保参数与预期类型匹配
  • 运行时验证:在处理之前捕获无效数据
  • 清除错误消息:帮助调试AI代理发送错误参数时的问题
  • 类型推断:TypeScript自动从Zod模式推断类型

先决条件

  • Node.js 18+
  • Prismatic CLI(npm i -g @prismatic-io/cli)以及进入Prismatic组织
  • 通过适当的互联应用程序设置访问Salesforce组织

安装

# Install dependencies
npm install

# Build the integration
npm run build

配置

Salesforce连接

对于Salesforce商业上下文工具,您需要使用以下4个必填字段配置JWT承载身份验证:

  • Salesforce令牌URL:OAuth2令牌URL(使用您组织的自定义域URL以获得最佳结果)
    • 例子: https://orgfarm-e2bbca81d6-dev-ed.develop.my.salesforce.com/services/oauth2/token
    • 违约: https://login.salesforce.com/services/oauth2/token
  • Salesforce消费者密钥:您的已连接应用消费者密钥(客户端ID)
  • Salesforce用户名:用于API访问的Salesforce用户(必须获得已连接应用程序的授权)
  • Salesforce私钥:JWT签名的私钥(完整的PEM格式,包括BEGIN/END标头)

备注:确保您的Salesforce Connected App启用了JWT Bearer流,上传了证书,并且用户具有访问Opportunity记录的适当权限。

测试集成

建造和进口

要构建集成并将其导入Prismatic,请执行以下操作:

npm run build
npm run import

在Prismatic中使用AI代理进行测试

要测试与AI代理的集成:

  1. 构建和导入集成
  2. 配置实例 使用您的Salesforce凭据
  3. 部署实例 给客户
  4. 配置AI代理 (如Claude或ChatGPT)具有MCP访问Prismatic实例的权限
  5. 请AI代理使用该工具:
    • “获取销售机会006XXXXXXXXXXXXXXX的Salesforce商业背景”
    • “获取ACME公司的商业背景——企业CLM实施”

AI代理将:

  • 通过MCP发现工具
  • 根据您的要求确定适当的参数
  • 使用这些参数调用工具
  • 接收结果
  • 以自然语言呈现给您

手动测试

您还可以通过向流的webhook URL发送POST请求来手动测试流:

curl -X POST https://your-instance-webhook-url \
  -H "Content-Type: application/json" \
  -d '{
    "opportunityId": "006XXXXXXXXXXXXXXX"
  }'

MCP工具

获取salesforce商业背景

从Salesforce Opportunity记录中检索全面的商业背景。返回交易阶段、财务指标、合同条款、续约信息、采购细节、法律/安全要求和客户健康指标。

参数:

  • opportunityId (可选):Salesforce机会ID(例如006XXXXXXXXXXXXXXX)。如果未提供机会名称,则为必填项。
  • opportunityName (可选):要搜索的机会名称。如果未提供机会ID,则为必填项。

退货: 全面的商业环境包括:

  • 交易阶段:舞台名称和结束日期
  • 组织:地区和业务部门
  • 财务指标:ACV、ARR、折扣、付款条件
  • 法律和安全:法律/安全要求、非标准条款、红线计数
  • 竞争格局:主要竞争对手、采购压力、采购类别
  • 合同日期:合同开始和结束日期
  • 续订信息:续订日期、通知期、自动续订状态
  • 后续步骤:下一步行动
  • 客户健康:未结病例数、最大病例严重程度、SLA违反状态、总体健康评分

示例响应:

{
  "opportunity_id": "006XXXXXXXXXXXXXXX",
  "opportunity_name": "ACME Corporation – Enterprise CLM Implementation",
  "deal_stage": {
    "stage_name": "Proposal/Price Quote",
    "close_date": "2026-05-17"
  },
  "financial_metrics": {
    "acv": 40000,
    "arr": 38000,
    "discount": 5,
    "total_discount": 2000,
    "payment_terms": "Net 30"
  },
  "legal_and_security": {
    "legal_required": true,
    "security_review_required": true,
    "non_standard_terms_requested": false,
    "redline_count": 0
  },
  "customer_health": {
    "open_cases_count": 0,
    "max_open_case_severity": "None",
    "sla_breach": false,
    "customer_health": "Green"
  },
  "metadata": {
    "retrieved_at": "2026-01-29T10:30:00.000Z",
    "source": "salesforce"
  }
}

MCP和AI代理集成

模型上下文协议(MCP)是用于将AI代理连接到外部工具和数据源的标准化协议。将Prismatic流标记为代理流时:

  1. Prismatic通过MCP自动曝光
  2. AI代理可以通过MCP协议发现工具
  3. 您提供的JSON模式将成为工具的接口定义
  4. AI代理可以调用该工具并同步接收响应

这种方法允许您:

  • 扩展AI代理功能:允许代理商访问Salesforce商业数据
  • 保持控制:在集成中保留身份验证和授权逻辑
  • 重用集成:使用现有的Prismatic集成作为AI代理工具
  • 独立更新:在不更改AI代理配置的情况下修改工具行为

有关在Prismatic中构建AI代理集成的更多信息,请参阅 代理流程文档.

发展

  • 安装deps: npm install
  • 构建: npm run build
  • 导入到Prismatic: npm run import 或 prism integrations:import

源代码存在于 src/编译后的工件被发送到 dist/ 随着 webpack.

许可证

仅供内部使用。