- 入门指南
- 面向 Administrator
- RPA 工作流项目
- 应用程序项目
- 智能体流程
- Agents (智能体)
- Solutions (解决方案)
- API 工作流
- 测试
Studio Web 用户指南
以下教程演示了如何有效使用 API 工作流的关键功能:
- 输入和输出架构
- 连接器活动
- 连接器 HTTP 活动
- JavaScript 表达式
- 对响应的格式化和转换
- 将工作流发布到 Orchestrator
Workday 包含广泛且敏感的员工数据。使用 API 工作流,您可以提取和转换特定信息。在本教程中,工作流将根据名字和姓氏请求检索员工层次结构。
需要与 Workday 的有效连接。
- (可选)创建 API 工作流。
- 打开数据管理器并添加“名字”和“姓氏”属性作为输入。您稍后可以通过
$workflow.input对象引用这些属性。 - 添加一个连接器,并将其配置为使用以下Workday(REST)活动:按名称或 ID 搜索工作器。
- 对于“搜索字符串或 ID”字段,打开表达式编辑器并写入以下内容:
$workflow.input.firstName + " " + $workflow.input.lastName$workflow.input.firstName + " " + $workflow.input.lastName
- 对于“搜索字符串或 ID”字段,打开表达式编辑器并写入以下内容:
-
调试您的工作流,并注意成功的响应。但未找到零个工作器。
-
添加一个“If条件”活动,并将以下代码片段用作“条件” :
$context.outputs.Workers_1.content.length <= 0$context.outputs.Workers_1.content.length <= 0 -
对于IF 条件活动的Then分支,添加一个响应活动,并进行如下配置:
- 类型— 失败
- 详细信息—
{ "notFound": "No workers found for given input" }{ "notFound": "No workers found for given input" }
-
再次调试您的工作流。由于您未提供所需输入,工作流将自动继续处理此响应,并将工作流状态设置为“失败” 。
-
使用以下有效负载定义调试配置:
{ "firstName": "Betty", "lastName": "Liu" }{ "firstName": "Betty", "lastName": "Liu" } -
调试您的工作流,直到在输出架构的内容属性中开始看到结果。
-
对于“If 条件”活动的“Else”分支,添加“循环” > “遍历循环”活动,并进行如下配置:
- 在—
$context.outputs.Workers_1.content$context.outputs.Workers_1.content - 项目名称—currentItem
- 累积结果— 开启
- 在—
-
在遍历循环活动主体中,为Workday (REST)连接器添加三个Workday REST HTTP 请求活动:
- Workday REST HTTP 请求 1:查找直接下属
- Workday REST HTTP 请求 2:查找组织详细信息
- Workday REST HTTP 请求 2:查找对等角色。这意味着对于循环中的每个工作器,活动将返回上述详细信息:直接下属、组织详细信息和对等角色。
-
配置Workday REST HTTP 请求 1:查找直接下属活动,如下所示:
- 方法— GET
- 请求 URL —
"/common/v1/uipath_dpt1/workers/" + $currentItem.id + "/directReports""/common/v1/uipath_dpt1/workers/" + $currentItem.id + "/directReports"
其中
uipath_dpt1/workers是沙盒定义的一部分。 -
配置Workday REST HTTP 请求 2:查找组织详细信息活动,如下所示:
- 方法— GET
- 请求 URL —
"/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id"/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id
其中
uipath_dpt1/supervisoryOrganizations是沙盒定义的一部分。 -
配置Workday REST HTTP 请求 3:查找对等活动,如下所示:
- 方法— GET
- 请求 URL —
"/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id + "/workers""/common/v1/uipath_dpt1/supervisoryOrganizations/" + $currentItem.primaryJob.supervisoryOrganization.id + "/workers"
其中
uipath_dpt1/supervisoryOrganizations是沙盒定义的一部分。 -
再次调试您的工作流。请注意,工作流对这三个 HTTP 请求已成功循环指定次数(基于第一个活动的结果数)。
-
在遍历循环活动主体中,在前三个Workday REST HTTP 请求活动之后添加脚本活动。
-
要配置“脚本”活动,请使用“表达式编辑器”中的 Autopilot 生成器,并提供以下提示:
“从之前的 3 项活动中创建 3 个对象。对象 1 是“manager”,应返回名称中的描述符,和电子邮件中返回的人员.电子邮件。对象 2 是第 3 个 http 请求中的对等点,应循环访问所有结果,并以“名称”形式返回描述符,将“电子邮件地址”作为返回的主要工作电子邮件。最后,添加一个对象“reports”,该对象将循环访问所有第一个 http 结果,将报告名称(描述符)和主要工作电子邮件作为电子邮件。
生成的 JavaScript 代码应如下所示:
return { // Details on the worker manager: { name: $currentItem.descriptor, email: $currentItem.person.email }, // Details for their peers peers: $context.outputs.Workday_REST_HTTP_Request_1.content.data.map(peer => ({ name: peer.descriptor, email: peer.primaryWorkEmail })).filter(peers => peers.name !== $currentItem.descriptor), // Filter out the employee itself, // Details for their direct reports reports: $context.outputs.Workday_REST_HTTP_Request_3.content.data.map(report => ({ name: report.descriptor, email: report.primaryWorkEmail })) }return { // Details on the worker manager: { name: $currentItem.descriptor, email: $currentItem.person.email }, // Details for their peers peers: $context.outputs.Workday_REST_HTTP_Request_1.content.data.map(peer => ({ name: peer.descriptor, email: peer.primaryWorkEmail })).filter(peers => peers.name !== $currentItem.descriptor), // Filter out the employee itself, // Details for their direct reports reports: $context.outputs.Workday_REST_HTTP_Request_3.content.data.map(report => ({ name: report.descriptor, email: report.primaryWorkEmail })) } -
在“遍历循环” 外部,添加“响应”活动并进行如下配置:
- “类型” — 成功
- 详细信息
$context.outputs.For_Each_1.results ```This step instructs the workflow to return the complete list of results generated by the **For Each** loop.$context.outputs.For_Each_1.results ```This step instructs the workflow to return the complete list of results generated by the **For Each** loop.
-
以端到端的方式调试您的工作流。您应该有一个成功的执行,响应架构应该可以满足您的需求。
-
生成成功执行工作流的输出架构:
- 导航至“运行输出”面板的“输出”部分。
- 选择“复制到剪贴板” 。
- 导航至数据管理器面板的“输出”部分。
- 选择“从有效负载生成” 。
- 粘贴从“输出” > “运行输出”复制的输出。
您的 API 工作流现在包括输入架构和输出架构,允许在整个平台上调用它。
- 将 API 工作流发布到 Orchestrator。