使用 Salesforce package 和记录变量的示例

构建一个 bot,用于查询 Salesforce 对象并将数据写入 CSV 文件。 bot 还使用记录变量从 Salesforce 获取的单个记录中检索数据。

先决条件

  • 如果您还没有,请在 Salesforce 中设置一个连接的应用程序。
  • bot 使用 Control Room OAuth 连接方法。 在开始构建 bot 之前,请创建一个 Control Room OAuth 连接。 有关更多信息,请参阅 Salesforce 身份验证 action
  • 在 Salesforce 中设置示例机会和账户数据。 如果您没有样本数据,可以将以下 CSV 文件中的数据导入到 Salesforce:
假设 Acme Solutions Pvt Ltd 的销售团队决定自动化获取所有潜在客户状态的机会记录的过程,然后将它们分配给销售代表进行跟进。 团队构建了一个执行以下任务的 bot
  • 从 Salesforce 的机会对象中获取所有状态为潜在客户的机会。
  • 使用从每个机会录制中检索到的账户 ID,从账户对象中获取账户名称。
  • 使用记录从单个机会记录中捕获数据。
  • 将记录写入 CSV 文件,可以进一步处理以分配销售代表。
示例 bot 使用 Salesforce、记录、LoopData Table packages 以及记录变量来展示如何执行以下自动化任务:
  • 使用 Salesforce 执行SOQL action 查询 Salesforce 对象。
  • 使用 Salesforce 获取记录 action 从 Salesforce 对象中获取单个记录。
  • 更新记录变量并重置记录变量。
  • 将记录插入到数据表变量中。
  • 将数据表写入 CSV 文件。

过程

  1. 创建一个bot
    1. 在左侧窗格中,单击自动化。 将显示可用 bots 和表单的列表。
    2. 单击 创建新 > 任务机器人
    3. 名称中,输入获取销售机会
    4. 单击创建和编辑
  2. 使用 Salesforce 进行身份验证。 在本教程中,Control Room OAuth 连接被用作身份验证类型。 设置 OAuth 连接的说明超出了本教程的范围。 如果您不熟悉设置 OAuth 连接,请按照此页面上提供的说明进行操作,或者您可以使用 OAuth 2 - 客户端凭据作为身份验证类型,并在 Salesforce 身份验证 action 中提供客户端 ID、客户端密钥、Salesforce 用户名和密码。
    1. 操作面板中,找到并添加Salesforce > 身份验证 actionBot editor
    2. 身份验证类型中,选择 Control Room OAuth 连接
    3. 单击选择并选择您已设置的具有以下详细信息的 OAuth 连接:
      • 提供商类型Salesforce
      • 连接名称:您已设置的连接。
      • 令牌类型共享
    4. API 版本中,输入 Salesforce 连接应用程序的 API 版本号。 例如,50.0
    5. 会话名称保留为默认
    6. 映射变量中,单击添加变量映射,然后将键 IntanceUrl 映射到名为 InstanceUrl 的字符串变量。
  3. 要在执行其他任务之前检查身份验证错误,请使用 Try Catch actions
    1. 操作面板中,找到并添加 错误处理器 > Try actionBot editor
    2. 单击 Catch 块图标。
    3. 异常中,选择错误处理程序
    4. 分配异常消息到中,单击 (x) 并创建一个名为 ErrorMessage 的字符串变量。
    5. 在 Catch 块中添加消息框 action
    6. 输入要显示的消息中,选择 ErrorMessage 变量并保存更改。
  4. 查询 Salesforce 机会对象以获取状态为潜在客户的机会记录。
    1. 操作面板中,找到并添加Salesforce > 执行 SOQL actionTry 块中。
    2. 要执行的 SOQL 查询中输入以下查询。
      SELECT Id, Name, AccountId, Amount, CloseDate, StageName, NextStep FROM Opportunity WHERE StageName = 'Prospecting'
    3. 包含已删除的记录中,单击
    4. 确保默认被设置为会话名称
    5. 将结果保存到变量中,单击 (x) 并创建一个名为 list_records_prospecting 的列表变量。
    6. 保存更改。
  5. 循环遍历检索到的机会记录列表。
    1. 操作面板中,找到并添加循环 > 循环 actionTry 块中的执行 SOQL action 之后。
    2. 迭代器中,选择列表中的每个项目
    3. 列表中,选择list_records_prospecting变量。
    4. 将当前值分配给变量中,单击 (x) 以创建名为 dict_record_opportunity 且类型为 Any 的变量。
      以下是存储为字典的记录示例。 bot 仅从 Name、账户 名称、Amount、CloseDate、StageName 和 NextStep 字段中检索值,并忽略其余字段。
      {attributes,com.automationanywhere.botcommand.data.impl.DictionaryValue@5d804b9c},{Id,0065j00001Q2ISAAA3},{Name,Opportunity #1},{AccountId,0015j00001BU2hnAAD},{Amount,2000.0},{CloseDate,2023-10-05},{StageName,Prospecting},{NextStep,Call to Discuss}
    5. 保存更改。
  6. 在从记录的每个字段检索值之前,创建两个记录变量——一个用于存储每个机会记录的值,另一个用于在每次迭代结束时重置第一个记录变量。
    1. 变量面板中,单击创建变量
    2. 类型中,选择记录
    3. 名称中,输入 out_record_prospecting
    4. 单击创建
    5. 重复步骤 ad 以创建另一个记录变量,具有以下详细信息:
      类型记录
      名称记录为空
  7. 更新记录变量,使用当前记录中的机会名称。
    1. 操作面板中,找到并添加 记录 > 添加列 actionLoop action 中。
    2. 源记录变量中,选择 out_record_prospecting
    3. 列类型中,选择字符串,并在中输入 $dict_record_opportunity{Name}$
    4. 单击特定索引,输入 0
    5. 目标记录变量中,选择 out_record_prospecting
    6. 保存更改。
  8. 从 Salesforce 检索到的机会记录仅包含账户 ID,而不包含账户名称。 使用账户 ID 为每个记录检索账户名称。
    1. 操作面板中,查找并添加 Salesforce > 获取记录 actionLoop action 内。
    2. 对象名称中,输入账户
    3. 选择记录 ID 并输入 $dict_record_opportunity{AccountId}$
    4. 字段和数据中,选择列表并单击添加
    5. 类型中,选择字符串
    6. 值为 0 中,输入名称
    7. 确保默认被设置为 Salesforce 会话名称。
    8. 映射变量中,单击添加变量映射将键名称映射到字符串变量 AccountName获取记录调用使用键名称检索账户,并将其存储在 AccountName 变量中。
    9. 保存更改。
  9. 添加新列并使用账户名称更新记录变量。
    1. 操作面板中,找到并添加 记录 > 添加列 actionLoop action 中。
    2. 源记录变量中,选择 out_record_prospecting
    3. 列类型中,选择字符串,并在中输入 $AccountName$
    4. 单击特定索引,输入 1
    5. 目标记录变量中,选择 out_record_prospecting
    6. 保存更改。
  10. 添加新列并使用金额更新记录变量。
    1. 操作面板中,找到并添加 记录 > 添加列 actionLoop action 中。
    2. 源记录变量中,选择 out_record_prospecting
    3. 列类型中,选择数字,并在中输入 $dict_record_opportunity{Amount}$
    4. 单击特定索引,输入 2
    5. 目标记录变量中,选择 out_record_prospecting
    6. 保存更改。
  11. 更新记录变量,使用 CloseDate、StageName 和 NextStep。
    1. 添加列 action 添加到 Loop action,然后输入以下详细信息:
      字段
      源记录变量 out_record_prospecting
      列类型 字符串
      $dict_record_opportunity{CloseDate}$
      特定索引 3
    2. 添加列 action 添加到 Loop action,然后输入以下详细信息:
      字段
      源记录变量 out_record_prospecting
      列类型 字符串
      $dict_record_opportunity{StageName}$
      特定索引 4
    3. 添加列 action 添加到 Loop action,然后输入以下详细信息:
      字段
      源记录变量 out_record_prospecting
      列类型 字符串
      $dict_record_opportunity{NextStep}$
      特定索引 5
    4. 保存更改。
  12. 将记录插入到数据表变量中。
    1. 为了跟踪迭代并将其用作行索引号,创建一个名为 counter 的数字变量,并将默认值设置为 0
    2. 操作面板中,找到并添加 数据表 > 插入行 actionLoop action 中。
    3. 数据表名称中,单击 (x) 并创建一个名为 table_records 的表格变量。
    4. 单击特定索引,输入 $counter$
    5. 行记录名称中,选择 out_record_prospecting
    6. 保存更改。
  13. counter 变量增加 1。
    1. 操作面板中,找到并添加 数字 > 递增 actionLoop action 内。
    2. 输入数字中,输入 $counter$
    3. 输入递增值中,输入 1
    4. 将输出分配给变量中,选择counter
    5. 保存更改。
  14. 在下一次迭代之前,重置 out_record_prospecting 记录变量。
    1. 操作面板中,找到并添加 记录 > 分配 actionLoop action 中。
    2. 选择源记录变量中,选择 record_empty
    3. 选择源记录变量中,单击记录并选择 out_record_prospecting。 由于 record_empty 变量没有任何值,out_record_prospecting 将被重置。
    4. 保存更改。
  15. 将检索到的机会记录写入 CSV 文件。
    1. 操作面板中,找到并添加数据表 > 写入文件 actionLoop action 之外。
    2. 数据表名称中,选择 table_records
    3. 输入文件名中,指定 CSV 文件路径。 例如,C:\bots\opportunities.csv
    4. 选择创建文件夹/文件(如果不存在)
    5. 单击覆盖现有文件
    6. 保存更改并运行 bot