统一传递中的分配方法

使用分配方法确定如何分配工作项。 您可以使用现成的分配方法,也可以通过配置优先级规则和分配规则集来构建自定义分配规则。

自动分配的工作原理

统一传递中的自动分配过程根据配置的分配规则将传入的工作项与最适合的代理进行匹配。 此连续过程包含多个分配周期和工作项的默认块大小。

每个周期会在适用的默认块大小中选取最靠前的未分配的工作项,并尝试将每个工作项与适合的代理进行匹配。 由于代理不可用或找不到合适的技能匹配而未分配给代理的工作项将被传递回队列。

下一个分配周期将选择下一组包含新工作项的最高优先级项目。

当没有为工作项找到合格的代理时,分配周期会继续重新尝试分配适用于渠道的最大数量的默认大小的块项。

对于数字消息传递和语音,默认块大小为 100 个最高优先级的工作项。

对于记录渠道,

  • 每个队列确定优先级的工作项数为 10,000
  • 默认情况下,为分配处理的工作项数为 2,000

备注

跨队列优先级在统一传递中不可用。

有关详细信息,请参阅管理队列的最佳实践

分配方法的类型

以下分配方法现成可用:

  • 最高产能:将工作项分配给具有最高可用产能的代理。 此代理具有在分类阶段确定的技能,状态与工作流中允许的状态之一匹配。 工作项按照先进先出的方式排列优先级—即首先分配最先创建的工作项。 如果有多个具有相同产能的代理可用,将根据最高产能相同的代理的轮循顺序分配工作项。

    如果您要使用基于技能的传递,

    • 将工作流中的默认技能匹配算法设置为精确匹配,系统将使用精确技能匹配、工作流的状态和产能要求筛选代理,然后按可用产能对筛选出的代理进行排序。

    • 将工作流中的默认技能匹配算法设置为最接近匹配,系统将根据工作流的状态和产能要求筛选代理,然后按最接近匹配和不可用产能对筛选出的代理进行排序。 详细信息:最接近匹配

    如果您需要在代理之间公平分配工作,您应该考虑切换到轮循机制分配策略。

备注

当您修改评分模型时,具有该评分模型技能的正在进行的对话或打开的工作项将继续具有现有评分。 有时,这可能会导致没有符合分配条件的代理。

  • 高级轮循机制:将工作项分配给与技能、状态和产能条件相匹配的代理。 初始顺序基于用户被添加到队列中的时间。 然后,根据分配更新顺序。 类似于在最高产能方法中如何分配工作项,在轮循机制分配中,工作项以先进先出的方式排列优先级—即首先分配最先创建的工作项。

    轮循分配的顺序是按队列维护的。 有些代理可能属于多个队列。 因此,根据代理在队列中的最后分配时间戳,可能会为代理分配紧邻或并行的但来自不同队列的工作项。

    在多个代理与工作项要求相匹配的情况下,由于诸如多个匹配的代理具有相同的可用产能等原因导致“排序依据”中出现同等项,系统会使用基于上次分配的最早时间的轮循机制来解决分配。

    例如,三个代理 Lesa、Alicia 和 Alan,均具有咖啡退款技能,一次最多可以处理三个聊天。 他们上一次的分配时间戳分别是上午 10:30、上午 10:35 和上午 10:37。 关于咖啡退款的工作项于上午 10:40 到达队列。 将订单设置为“基于配置文件的可用产能”后,上午 10:40 的所有代理都具有相同的可用产能,每个代理为 2。 为了打破代理之间的同等状态,系统会使用轮循机制。 因此,传入聊天将被分配给 Lesa,因为她的上次分配时间上午 10:30 是最早时间。 上午 10:45 以后,如果有另一个咖啡退款工作项目进入,系统会将其分配给 Alicia。 这还基于 Alicia 和 Alan 之间的轮循机制分配顺序,因为他们的可用产能是每人 2 个,而且 Alicia 比 Alan 上午 10:35 的分配时间要早。

  • 最不活跃:将工作项分配给所有匹配所需技能、状态和产能的代理中最不活跃的代理。

    分配方法将使用“自上次为语音呼叫释放产能以来的时间”和工作流中配置的总结设置,来确定最不活跃的代理,并将下一个传入呼叫传递给此代理。 例如,考虑队列中的两个代理。 第一个代理在五分钟前完成通话,而第二个代理刚刚完成通话。 当新呼叫传入时,系统会将其分配给先完成活动的第一个代理。

    传递给最不活跃的代理分配策略有助于在代理之间平衡分配工作项,并提高代理效率和客户满意度。

    您还可以建立自定义报表来跟踪代理的“上次产能释放时间”,并了解代理之间的分配分布情况。

    重要提示

    最不活跃分配方法仅对语音渠道可用,是创建语音队列时的默认选择。

    此功能用于帮助客户服务经理或主管提高其团队的绩效并提高客户满意度。 此功能不适用于(也不应该用于)作出会影响员工或员工团体的雇佣的决定,包括薪酬、奖励、资历或其他权利。 客户对使用 Dynamics 365、此功能以及任何关联的功能或服务时遵守所有适用法律全权负责,包括与访问员工个人的分析信息以及监视、记录和存储与最终用户的通信相关的法律。 另外还包括充分通知最终用户他们与代理之间的通信可能应适用法律的规定会受到监视、记录或存储,并在对最终用户使用此功能前获取他们的许可。 另外还建议客户建立机制来通知代理他们与最终用户之间的通信可能被监视、记录或存储。

您还可以创建自定义分配方法来满足您的业务需要。

  • 新建:允许您创建和使用自己的规则集和规则,以配置用于选择需要将工作项传递到的队列的优先级、严重性和产能。 您可以创建以下规则集:

    • 优先级规则集:您可以定义代理可以承担更多工作时向其分配工作项的顺序。
    • 分配规则集:表示一组用于选择代理和使用排序选项对匹配的代理进行排序的条件。

    重要提示

    • 您必须在自定义分配方法中配置状态、产能和技能匹配规则,因为在自定义分配方法中不会使用为工作流定义的默认设置。
    • 现成的分配策略不考虑代理的工作时间。 您必须在规则定义中使用“is_working”运算符来编写自定义分配方法。

分配周期

分配周期是根据分配规则对工作项、工作项的选择以及将它们分配给最适合的代理的优先级排序。 统一传递可优化组织中多个队列的分配周期,以获得最佳性能。

分配周期从以下其中一个触发器开始:

  • 队列中的新工作项到达。
  • 对代理状态进行更改。
  • 对代理产能进行更新。
  • 向队列中添加代理。
  • 工作项的记录类型每五分钟定期触发一次。

优先级规则集如何工作

优先级规则集是优先级规则的已排序列表。 每个优先级规则代表队列中的一个优先级桶。 在优先级规则中,您可以指定一组条件和排序属性。 在评估过程中,优先级规则将按照它们列出的顺序运行。 对于第一个优先级规则,队列中与其条件匹配的工作项将被放入同一个优先级桶。 在优先级桶中,将按照优先级规则中指定的顺序对项目进行进一步排序。 第二个规则将在队列中的其余项目上运行,来识别下一个优先级桶,并按排序依据属性对桶进行排序,直到所有规则全部完成评估。

每个队列只能创建一个优先级规则集。

例如,考虑如以下屏幕截图中所示的具有四个规则的优先级规则集。

优先级划分应用场景的屏幕截图。

  • 在任何分配周期中,都会运行此优先级划分规则集,规则集中的规则将按它们列出的顺序运行。

  • 第一个规则“高优先级和优先”将查找队列中关联案例优先级为“高”且案例类别为“优先”的所有工作项。 系统将创建包含这些工作项的最高优先级桶,并按照排序依据属性中指定的“先进先出”方式对它们进行排序。 要分配的队列中的第一个工作项将是此桶中最早的项。

  • 下一个优先级桶将是案例类别为“优先”的工作项。 具有“优先”案例类别和“高”优先级的工作项已经按照前面的规则放在了最高优先级桶中,因此此规则将只考虑具有“优先”案例优先级的其他工作项。 在这种情况下,排序依据属性也是“先进先出”。

  • 下一个优先级桶由案例优先级为高且尚未被分配桶的工作项组成。 在这里,工作项按其“第一个响应者”字段的升序排序—即需要最早进行第一响应的工作项将被优先考虑。

关于优先级划分规则的一些要点如下:

  • 每个队列只能创建一个优先级规则集。
  • 优先级划分规则在每个分配周期运行。 如果您更改了工作项的任何属性,如案例的优先级,将在下一个分配周期考虑该更改。
  • 默认情况下,队列按“先进先出”方式排序。 如果您未创建优先级划分规则,将首先分配最早的工作项。
  • 在正常情况下,当有足够数量的代理可以处理工作项时,队列处理时间仅为几秒钟。 将按优先级顺序向代理分配工作项。 但是,如果由于符合条件的代理较少而导致工作项堆积,然后在处理期间有代理可用,将根据优先级顺序为代理提供下一个工作项。 此策略可能会造成最高优先级项目未被分配的感觉;尤其是在尝试分配一些最高优先级项目后,他们仍在队列中的情况。
  • 不符合任何优先级划分规则集条件的工作项将留在最后一个优先级桶中,按“先进先出”排序。
  • 针对相似性工作项跳过优先级规则,此类工作项将优先于队列中的其他工作项进行分配。 有关相似性的信息,请转到代理相似性

分配规则集如何工作

分配规则集是分配规则的已排序列表。 每个分配规则代表一组条件,用于确定要选择的代理,以及用于对匹配的代理进行排序的排序字段。 在运行时,将首先评估顺序在最上面的分配规则。 代理根据规则中指定的条件进行匹配。 如果存在多个匹配代理,将按字段排序,并为最上面的代理分配工作。 如果没有匹配的代理,则评估规则集中的下一个分配规则。 可以将此方法视为分配中约束的逐渐放宽,以便首先应用最严格的条件,然后减少条件,以便找到最佳代理。 如果没有找到匹配代理,工作项将保留在队列中。

在分配规则中,系统用户属性与工作项的要求匹配。 选择静态匹配时,条件将基于系统用户实体属性和静态值形成。 选择动态匹配时,左侧的条件基于系统用户根实体,右侧的条件基于对话根实体。 您可以在对话根实体上向下钻取到两个级别以形成规则条件。 具有动态匹配和静态匹配的分配规则如下所示。

具有动态匹配和静态匹配条件的分配规则的屏幕截图。

分配规则的组成部分

分配规则由以下各项组成:

  • 顺序:指定评估规则集中分配规则的顺序。 顺序排序较小的规则首先运行。 如果任何规则有匹配的用户,将不评估下一组规则。

  • 名称:唯一的规则名称。

  • 条件:进行计算,将用户与传入工作的属性相匹配的表达式。 条件包括三个部分:

    • 用户属性:可用于将用户与传入工作进行比较的用户属性。 用户属性可以是以下其中一项:

      • 在系统用户表上选择属性。
      • 状态:由统一路由服务根据用户工作负荷和人工选择进行维护。
      • 产能:由统一路由服务根据用户工作负荷和人工选择进行维护。
      • 用户技能:表示与用户关联的可用于执行基于技能的工作的技能。
      • 日历计划:用户服务计划日历中表示的用户的计划。
      • 机器人属性:只能在您将机器人配置为用户并希望对其进行一些比较时使用。
    • 运算符:定义用户属性和传入工作项属性之间的比较关系。

      统一传递将筛选属性特定的运算符供您选择。 可用于属性类型的一些特殊运算符如下。

      属性类型 操作员 定义
      状态 等于、不等于、包含数据、不包含数据 使用运算符以查找与在工作项中指定的当前状态相匹配的代理。
      容量 等于、不等于、包含数据、不包含数据 使用运算符以比较代理是否有足够的产能来处理指定项。
      用户技能 完全匹配 使用运算符以查找具有传入工作项需要的所有技能的代理。
      用户技能 自定义匹配 使用运算符以基于工作项上的所选查找属性查找其技能将在运行时匹配的代理。
      日历日程安排 正在工作 使用此运算符以查找正在按照其服务计划日历工作的代理。
    • :将用户属性与此值进行比较来查找合适的代理。 此值可以是静态的,如“Address 1: County equals "USA"”。 此值也可以是动态的,您可以动态地将用户属性与工作项上的值进行比较。 在动态值中,您可以选择工作项或相关记录上的任何属性。 例如,以下条件查找与案例关联的客户所在国家/地区相同的用户。

      动态匹配示例的屏幕截图。

      对于一些运算符,值不是必需的。 它们可以是条件,例如“包含数据”、“不包含数据”和“日历日程安排:正在工作”。

      对于用户技能,为运算符预定义值。 详细信息:设置基于技能的传递

  • 排序依据:如果多个代理符合某个规则中的条件,您可以使用“排序依据”子句查找最适合的代理。 您可以指定以下排序依据子句:

    • 排序属性

      • 最不活跃:仅可用于语音队列。 将工作项传递给所有匹配技能、状态和产能的代理中最不活跃的代理。 有关详细信息,请参阅分配方法的类型一节。
      • 轮循机制
      • 基于单位的可用容量
      • 基于配置文件的可用容量
      • 精通度
      • 技能计数
    • 用户属性:这些属性在系统用户实体上定义。

屏幕截图中的以下场景说明了分配规则的一个示例。

示例分配方法。

第一个条件指定运算符是完全匹配项的“user skills”。 然后对用户属性进行评估。 不同的用户属性使用每个属性的运算符和值指定,如状态属性应等于“Available”或“Busy”。 在运算符的右侧,您可以指定要与属性匹配的值。 这些值可以是“静态”的,如“presence status equals Available or Busy”。 如果指定为“动态”,条件将在运行时根据您指定的表达式进行匹配。 例如,如果您指定“Preferred Customer Type Equals Conversation.Contact.Membership Level”,每个代理的“preferred customer type”将与与聊天关联的客户的动态计算的成员身份级别进行匹配。

动态匹配可以减少必须为可能值的每个排列和组合编写和维护多个静态规则的工作量。

向代理重复提供工作项的限制

当代理通过自动分配获得工作项时,他们通常可以接受或拒绝。 通知的拒绝超时都被视为拒绝。 三次拒绝同一工作项的代理不会被考虑向其进一步自动分配特定工作项。 如果队列中的其他代理符合条件,系统会尝试向他们分配拒绝的工作项。

例如,代理 Serena Davis 两次拒绝客户 Ana Bowman 的聊天,第三次尝试时分配通知将超时。 系统会将此视为三次拒绝,自动分配不会再次向 Serena Davis 提供相同的聊天。 但系统会向其他符合条件的代理分配 Ana Bowman 的聊天。 此外,除了 Ana Bowman 拒绝的聊天外,还会考虑向 Serena Davis 分配其他传入对话。

备注

如果所有匹配的代理都因为代理可用性低或工作需要非常特定的技能和熟练度而拒绝了工作项,该工作仍会在队列中。 同样,如果 100 个代理拒绝了某个特定工作项,自动分配不会在接下来的分配周期中考虑该工作项。 它可以由主管手动分配,也可以由代理(包括拒绝它的代理)选取。

您可以根据组织要求将默认的三次拒绝限制更新为一到五次。 此限制适用于组织内的所有渠道。

您可以按如下方式进行 OData 调用,来检查您的组织的限制。

<org-url>/api/data/v9.0/msdyn_omnichannelconfigurations?$select=msdyn_number_of_declines_allowed

如果此 OData 调用返回 null 值,表示拒绝限制设置为默认值 3。

您可以按如下方式更新 OData 调用来修改限制。

var data = { "msdyn_number_of_declines_allowed": 3 } // update the record Xrm.WebApi.updateRecord("msdyn_omnichannelconfiguration", "d4d91600-6f21-467b-81fe-6757a2791fa1", data).then( function success(result) { console.log("Omnichannel Configuration updated"); // perform operations on record update }, function (error) { console.log(error.message); // handle error conditions } );

另请参见

配置分配方法和规则
有关 Customer Service、Customer Service 全渠道中的统一路由的常见问题
统一传递诊断
创建工作流
创建队列
为记录设置统一传递
为统一传递设置基于技能的传递