Dynamics 365客户服务门户网站头条第2部分

Dynamics 365客户服务门户:挑战和解决方案 - 第二部分

Diogo GouveiaProducts and Solutions, Technical Leave a Comment

欢迎来到这篇文章的第二部分!在这里,我们将继续解释我们的开发经验。 微软Dynamics 365客户服务门户网站.如果你没有读过 第一部分 然而,请务必看一看(我们包括一个为D365客户服务定制的插件)!

事件#3--开设新案件

在建立我们的支持门户网站时,我们遇到了一个与客户在创建新案例时填写的表格有关的情况。微软Dynamics 365客户服务的这个页面的默认设计包括一个一般的文本框,客户要在这里提供有关他们案件的细节。

虽然这种形式对一些企业来说可能足够好,但它并没有达到我们所寻求的自动化水平。从本质上讲,我们正在寻找一种方法,将门户网站上创建的每一个新案件及时转到一个适当的队列,每个队列都包含一个最适合回答每个案件的个人团队。除了更有效率之外,这也比单独分析每个案件,然后再将其引导到适当的专家那里要省时。

解决方案 - 重新设计D365客户服务表格

为了优化我们在支持门户上收到的案例的解决,我们的团队不得不重新设计 "打开一个新案例 "的页面。我们创建了一个表格,而不是我们刚才提到的一般查询框,该表格随着客户填写他们的案件信息而展开。

登录后,这就是用户最初看到的情况:

dynamics 365客户服务门户 打开一个新的案例
在填写完 "标题 "和 "主题 "字段后,表格不断扩大。为了演示的目的,我们将模拟一个客户在试图访问他们的SaaS账户时遇到登录错误的情景,以达到以下目的 CB Dynamics 365 to SharePoint Permissions Replicator.
Dynamics 365客户服务门户案例

一旦表格完成,你可以看到信息被分割在不同的字段中,而不是在一个大的文本框中。现在,系统可以读取这些不同的字段,并通过预定义的工作流程,将案件正确地引导到适当的队列中。

每当一个案例被引导,接收团队就会收到一封自动的电子邮件,通知他们在支持门户上收到了一个新的案例。然后,该团队必须到CRM检查该案例,要么留下一个门户评论,这是在Dynamics 365客户服务门户上对所提出的询问的一个简单评论,要么发送一个日历预约,也是通过CRM,如果需要的话,安排一个电话。然后通过电子邮件通知客户这些情况的发生,每次支持案例有更新时(例如,用户对门户评论的回复),分配给队列的团队成员也会有同样的情况。

完全使用微软的Dynamics 365 CRM来解决案件是我们的团队必须要适应的(这一点将在下文中讨论),但这是非常有益的,因为现在所有的沟通和过程都被追踪了。这使我们有能力产生我们可以信任的数据,并对其进行分析,得出提高客户满意度和不断改进我们的产品线的倡议。

Connecting Software SaaS门户网站

我们的 SaaS门户我们的客户用来管理通过我们的Microsoft Azure SaaS服务器部署的解决方案的资源,也经历了一些调整。在页面页脚有一个 "联系我们 "的链接,它曾经把客户引向一个专门的地方,为他们的询问创建支持票。
dynamics 365客户服务门户网站 联系我们

有了我们新的Dynamics 365客户服务门户,这就成了一个多余的问题。由于支持门户网站的主要目标之一是集中支持请求,让来自我们SaaS门户网站的请求通过不同的渠道是没有意义的。因此,我们的开发团队配置了这个 "联系我们 "字段,以引导客户直接到我们的 支持门户网站.

但是,还有一个好处!一旦客户到达这个页面,我们重新设计的表格的一些字段会根据客户的来源页面自动填写。通过这样做,我们可以提高效率,与导致我们首先开发这个Dynamics 365客户服务门户网站的目标保持一致。

发生#4 - 附件总大小

正如你可能知道的,在创建支持案例时,附件是非常有用的,因为它们有助于用户和进行援助的专业人员之间的信息交流。然而,根据手头案件的复杂性,附件的总大小可能会有所不同,而且通常有限制。

Dynamics 365客户服务门户对客户随案件发送的附件的总大小有5MB的限制。对于客户附加一个简单的屏幕截图是绰绰有余的,但对于需要屏幕录像或更多图片的案件,这就成为一个问题。

      public void Execute(IServiceProvider serviceProvider)
    {
        var tracingService = (ITracingService) serviceProvider.GetService(typeof(ITracingService));
        var context = (IPluginExecutionContext) serviceProvider.GetService(typeof(IPluginExecutionContext));
        var serviceFactory = (IOrganizationServiceFactory) serviceProvider.GetService(typeof(IOrganizationServiceFactory));
        var service = serviceFactory.CreateOrganizationService(context.UserId);
        if (!context.InputParameters.Contains("Target") || !(context.InputParameters["Target"] is Entity)
        {
            返回;
        }

        var entity = (Entity) context.InputParameters["Target"];
        var isLoginEnabled = HasLoginEnabled(entity);
        
        如果(isLoginEnabled == false)
        {
            返回;
        }

        试试
        {
            var emailAddress = (string) entity["emailaddress1"];
            var contactsWithSameEmailAddress = GetContactsByEmailAddress(service, entity.Id, emailAddress);
            如果(contactsWithSameEmailAddress.Entities.Count > 0)
            {
                var hasLoginEnabled = HasLoginEnabled(contactsWithSameEmailAddress.Entities[0]);
                如果(hasLoginEnabled)
                {
                    throw new InvalidPluginExecutionException(OperationStatus.Failed、
                        "用户已经存在。尝试用不同的电子邮件地址来注册,或登录你现有的账户。");
                }

                var mergeRequest = new MergeRequest
                {
                    SubordinateId = entity.Id、
                    目标 = new EntityReference("contact", contactsWithSameEmailAddress.Entities[0].Id)、
                    UpdateContent = GetUpdateContent(entity)
                };
                var _ = (MergeResponse) service.Execute(mergeRequest);
                entity[CustomAttributeName] = true;
                service.Update(entity);
            }
            否则
            {
                var domain = emailAddress.Split('@')[1];
                如果(_publicDomains.Contains(domain))
                {
                    SendEmailAndDeactivateContact(service, tracingService, entity);
                }
                否则
                {
                    var contactsWithSameDomain = GetContactsByDomain(service, entity.Id, domain);
                    如果(contactsWithSameDomain.Entities.Count > 0)
                    {
                        entity["parentcustomerid"] = contactsWithSameDomain.Entities[0]["parentcustomerid"] ;
                        service.Update(entity);
                    }
                    否则
                    {
                        SendEmailAndDeactivateContact(service, tracingService, entity);
                    }
                }
            }
        }
        捕获(FaultException 前)。
        {
            抛出新的InvalidPluginExecutionException("ContactPostOperationPlugin发生错误。", ex);
        }
    }
关闭代码

解决方案--变通办法

虽然我们的开发团队很出色,但对于这种附件限制,我们也没有什么办法。这个问题最好的解决方法是为用户提供一个替代的文件库来上传文件,由处理该案件的团队进行分析。为此,我们使用的平台是 自有云.

其他发生的情况

除了前面四种情况,还有其他情况证明我们愿意并且能够在有需要的情况下修改项目的初始推广。作为一个例子,我们:

  • 调整了微软Dynamics 365视图和门户评论描述的可搜索性
  • 通过删除HTML代码并加入富文本,提高了客户和支持团队的门户网站评论的可读性。
  • 增加了一个额外的栏目来编译一个外部知识库的URL
  • 建立一个自动解决未获答复案件的程序
  • 了解了微软Dynamics 365渲染HTML的方式,以确保我们发给客户的信息邮件能如愿显示(提示:HTML必须是单行代码,而不是标准格式)。

此外,作为微软使Power Pages平台更加安全的旅程的一部分,他们已经推出了一个 数据库应用的用户概念.简而言之,在网络应用程序中执行的所有操作背后都有一种类型的用户,而每种类型的用户都有不同的权限。

在本文第一部分提到的D365解决方案中,系统用户是被我们建立的D365解决方案使用的。新的介绍使这个SYSTEM用户变成了一个应用用户,而这个应用用户的权限与之前的SYSTEM用户不一样。因此,我们建立的解决方案受到了限制,无法正常工作。

唯一需要做的是将系统管理员的权限(由以前的SYSTEM用户携带)分配给微软实施的新的应用程序用户。一旦这个过程完成,我们的插件就恢复了100%的功效

Dynamics 365客户关系管理培训

现在我们已经介绍了我们在建立支持门户时面临的技术障碍,我们想简单地谈谈实施Dynamics 365客户服务门户的管理方面,即我们的团队必须接受的Dynamics 365 CRM培训。任何项目经理都会告诉你,团队承诺适应新的工作方式可能是推出一项改进措施时的最大挑战之一。

你可能知道,我们的团队以前通过电子邮件进行客户支持。现在,团队成员需要专门通过我们的CRM留下门户评论或发出会议邀请。为了确保顺利过渡到这样一个新的流程,重要的是要告知团队这背后的原因,以便他们能够看到好处,无论是从他们可以节省的时间,到公司报告的需要,以得出持续改进的举措,或简化客户支持体验的角度。即使对我们的客户来说,我们预计他们也不得不适应使用支持门户网站来查询,而不是给他们已经熟悉的团队成员发电子邮件。

最后,我们的知识库的维护是另一个改变的机会。现在,我们的微软Dynamics 365客户服务门户网站为我们提供了更清晰的客户查询信息,除了提供支持外,团队还必须不断将重复出现的案例添加到知识库中,以确保所有支持门户网站的用户都能随时获得这些信息。

外卖

我们积极地回顾这些事件,因为它们使我们能够为我们的客户将我们的支持门户网站达到最好的状态。虽然这是一个漫长的项目,需要我们团队成员的努力和全力以赴,但毫无疑问,它已经得到了回报。能够为我们的客户提供更多的便利,并为我们提供强大的信息来源,意味着我们获得了继续实现目标的筹码,我们期待着看到我们如何利用微软Dynamics 365客户服务门户继续优化我们的流程。

我们希望你喜欢了解更多关于我们的创作经验。 支持门户网站.在 第一部分 在这篇文章中,我们包括了我们专门为 "中国 "建立的一个插件的一部分。 微软Dynamics 365客户服务.这对我们来说非常有帮助,所以请随时看一看,并联系我们索取完整的版本!


关于作者

Diogo Gouveia

作者 Diogo Gouveia

"在英国完成学业后,我加入了Connecting Software的营销团队,创建关于软件集成和其他各种IT主题的内容。如果你有任何意见或建议,请联系我"。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.