Заголовок портала обслуживания клиентов Dynamics 365 часть 2

Портал обслуживания клиентов Dynamics 365: Проблемы и решения - часть 2

Diogo GouveiaProducts and Solutions, Technical Leave a Comment

Добро пожаловать во вторую часть статьи! Здесь мы продолжим рассказывать о нашем опыте разработки нашего Портал обслуживания клиентов Microsoft Dynamics 365. Если вы не читали Часть 1 Тем не менее, обязательно посмотрите (мы включили в него специально разработанный плагин для D365 Customer Service)!

Происшествие #3 - Открытие нового дела

При создании нашего портала поддержки мы столкнулись с ситуацией, связанной с формой, которую наши клиенты заполняют при создании нового дела. Стандартный дизайн этой страницы службы поддержки Microsoft Dynamics 365 включает общее текстовое поле, в котором клиенты должны указать подробную информацию об особенностях своих дел.

Хотя такой формат может вполне удовлетворить некоторые компании, он не подходил для уровня автоматизации, который мы искали. По сути, мы искали способ оперативно направлять каждое новое дело, созданное на портале, в соответствующую очередь, каждая из которых содержит группу специалистов, наиболее подходящих для ответа на каждое дело. Помимо того, что это намного эффективнее, это также отнимает меньше времени, чем необходимость анализировать каждое дело по отдельности, чтобы затем направить его соответствующим специалистам.

Решение - редизайн формы обслуживания клиентов D365

Чтобы оптимизировать решение дел, которые мы получаем на портале поддержки, нашей команде пришлось переделать страницу "Открыть новое дело". Вместо поля для общих запросов, о котором мы только что говорили, мы создали форму, которая расширяется по мере заполнения клиентами информации о своих делах.

Когда пользователь входит в систему, он видит именно это:

портал обслуживания клиентов dynamics 365 открыть новое дело
После заполнения полей "Заголовок" и "Тема" форма продолжает расширяться. В демонстрационных целях мы смоделируем сценарий, когда клиент испытывает ошибку входа в систему при попытке получить доступ к своей учетной записи SaaS для CB Dynamics 365 to SharePoint Permissions Replicator.
Пример кейса портала обслуживания клиентов Dynamics 365

После заполнения формы можно увидеть, что информация распределена по разным полям, а не в одном большом текстовом поле. Теперь система может считывать эти различные поля и правильно направлять дело в соответствующую очередь с помощью заранее определенных рабочих процессов.

Каждый раз, когда дело направляется, принимающая команда получает автоматическое электронное сообщение, информирующее их о том, что они получили новое дело на портале поддержки. Затем эта команда должна зайти в CRM и проверить дело, чтобы либо оставить комментарий на портале, который представляет собой простой комментарий на портале обслуживания клиентов Dynamics 365 к размещенному запросу, либо отправить назначение в календарь, также через CRM, чтобы организовать звонок, если это необходимо. Клиент уведомляется об этих событиях по электронной почте, и то же самое происходит для членов команды, назначенных в очереди, каждый раз, когда происходит обновление случая поддержки (например, ответ пользователя на комментарий на портале).

Решение дел исключительно с помощью Microsoft Dynamics 365 CRM - это то, к чему нашей команде пришлось привыкнуть (о чем будет сказано ниже), но это чрезвычайно полезно, поскольку теперь все коммуникации и процессы отслеживаются. Это дает нам возможность генерировать данные, которым мы можем доверять, анализировать их и разрабатывать инициативы для повышения удовлетворенности клиентов и дальнейшего совершенствования нашей линейки продуктов.

Connecting Software Портал SaaS

Наш сайт SaaS-порталресурс, который наши клиенты используют для управления решениями, развернутыми через наши серверы Microsoft Azure SaaS, также претерпел некоторые изменения. В нижнем колонтитуле страницы появилась ссылка "Связаться с нами", которая раньше перенаправляла клиентов на специальное место для создания тикетов поддержки по их запросам.
портал обслуживания клиентов dynamics 365 свяжитесь с нами

С нашим новым порталом поддержки клиентов Dynamics 365 это стало излишним. Поскольку одной из основных целей портала поддержки является централизация запросов на поддержку, не было смысла в том, чтобы запросы, поступающие с нашего SaaS-портала, проходили через другой канал. Поэтому наша команда разработчиков настроила поле "Связаться с нами" таким образом, чтобы оно вело клиентов непосредственно на наш портал Портал поддержки.

Но есть и бонус! Как только клиент попадает на эту страницу, некоторые поля созданной нами переделанной формы автоматически заполняются в соответствии со страницей, с которой пришел клиент. Таким образом, мы можем повысить эффективность, оставаясь в русле тех целей, которые привели нас к разработке этого портала обслуживания клиентов Dynamics 365.

Происшествие #4 - Общий размер вложения

Как вы, вероятно, знаете, вложения чрезвычайно полезны при создании случая поддержки, поскольку они облегчают обмен информацией между пользователем и специалистом, оказывающим помощь. Однако, в зависимости от сложности рассматриваемого случая, общий размер вложений может варьироваться, и обычно на это существуют ограничения.

Портал обслуживания клиентов Dynamics 365 имеет ограничение в 5 МБ на общий размер вложений, которые клиенты могут отправлять вместе со своими делами. Для клиентов, прикрепляющих простой снимок экрана, этого более чем достаточно, но для случаев, требующих записи экрана или, например, большого количества изображений, это становится проблемой.

      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))
        {
            return;
        }

        var entity = (Entity) context.InputParameters["Target"];
        var isLoginEnabled = HasLoginEnabled(entity);
        
        if (isLoginEnabled == false)
        {
            return;
        }

        try
        {
            var emailAddress = (string) entity["emailaddress1"];
            var contactsWithSameEmailAddress = GetContactsByEmailAddress(service, entity.Id, emailAddress);
            if (contactsWithSameEmailAddress.Entities.Count > 0)
            {
                var hasLoginEnabled = HasLoginEnabled(contactsWithSameEmailAddress.Entities[0]);
                if (hasLoginEnabled)
                {
                    throw new InvalidPluginExecutionException(OperationStatus.Failed,
                        "Пользователь уже существует. Попробуйте использовать другой адрес электронной почты для регистрации или войдите в существующую учетную запись.");
                }

                var mergeRequest = new MergeRequest
                {
                    SubordinateId = entity.Id,
                    Target = new EntityReference("contact", contactsWithSameEmailAddress.Entities[0].Id),
                    UpdateContent = GetUpdateContent(entity)
                };
                var _ = (MergeResponse) service.Execute(mergeRequest);
                entity[CustomAttributeName] = true;
                service.Update(entity);
            }
            else
            {
                var domain = emailAddress.Split('@')[1];
                if (_publicDomains.Contains(domain))
                {
                    SendEmailAndDeactivateContact(service, tracingService, entity);
                }
                else
                {
                    var contactsWithSameDomain = GetContactsByDomain(service, entity.Id, domain);
                    if (contactsWithSameDomain.Entities.Count > 0)
                    {
                        entity["parentcustomerid"] = contactsWithSameDomain.Entities[0]["parentcustomerid"];
                        service.Update(entity);
                    }
                    else
                    {
                        SendEmailAndDeactivateContact(service, tracingService, entity);
                    }
                }
            }
        }
        catch (FaultException ex)
        {
            throw new InvalidPluginExecutionException("Произошла ошибка в ContactPostOperationPlugin.", ex);
        }
    }
Код закрытия

Решение - обходной путь

Хотя наша команда разработчиков работает блестяще, мы мало что можем сделать с этим ограничением на вложения. Лучшим обходным путем решения этой проблемы является предоставление пользователю альтернативного хранилища для загрузки файлов, которые анализируются командой, занимающейся этим вопросом. Для этой цели мы используем следующую платформу ownCloud.

Другие происшествия

Помимо предыдущих четырех, были и другие ситуации, которые доказали, что мы готовы и способны изменить первоначальное развертывание проекта, если в этом возникнет необходимость. Например:

  • Адаптированы представления Microsoft Dynamics 365 и возможность поиска описаний комментариев на портале
  • Улучшена читаемость комментариев на портале для клиентов и службы поддержки за счет удаления HTML-кода и включения Rich Text
  • Добавлена дополнительная колонка для составления URL внешней базы знаний
  • Установите процесс автоматического решения дел, которые остаются без ответа
  • Узнал о том, как Microsoft Dynamics 365 отображает HTML, чтобы наши информационные электронные письма клиентам отображались в нужном виде (Подсказка: HTML должен быть в виде одной строки кода, а не в стандартном формате).

Кроме того, в рамках усилий Microsoft по повышению безопасности платформы Power Pages, они представили Концепция пользователя приложения Dataverse. Короче говоря, все действия, выполняемые в веб-приложениях, имеют за собой тип пользователя, и каждый тип пользователя имеет различные привилегии.

Пользователь SYSTEM использовался в решении D365, которое мы создали, о чем говорилось в первой части этой статьи. Новое внедрение привело к тому, что этот пользователь SYSTEM сменился на пользователя Application User, который не имеет тех же привилегий, что и предыдущий пользователь SYSTEM. Таким образом, построенное нами решение стало ограниченным и не работало должным образом.

Единственное, что нужно было сделать, это назначить права системного администратора (которые были у предыдущего пользователя SYSTEM) новому пользователю Application User, внедренному Microsoft. Как только этот процесс был выполнен, наш плагин возобновил эффективность 100%!

Dynamics 365 Обучение CRM

Теперь, когда мы рассказали о технических трудностях, с которыми мы столкнулись при создании портала поддержки, мы хотели бы кратко остановиться на управленческих аспектах внедрения портала обслуживания клиентов Dynamics 365, а именно на обучении нашей команды работе с Dynamics 365 CRM. Как скажет вам любой руководитель проекта, приверженность команды адаптации к новым методам работы может быть одной из самых больших проблем при внедрении улучшений.

Возможно, вы знаете, что ранее наша команда осуществляла поддержку клиентов по электронной почте. Теперь члены команды должны оставлять комментарии на портале или отправлять приглашения на встречу исключительно через нашу CRM. Чтобы обеспечить плавный переход на новый процесс, было важно проинформировать команду о причинах этого, чтобы они смогли увидеть преимущества, будь то экономия времени, отчетность компании для реализации инициатив по постоянному совершенствованию или оптимизация процесса поддержки клиентов. Даже для наших клиентов, мы ожидаем, что им также пришлось привыкнуть к использованию портала поддержки для своих запросов, а не писать по электронной почте членам команды, с которыми они уже знакомы.

Наконец, еще одной возможностью для изменений стало ведение нашей базы знаний. Теперь, когда портал обслуживания клиентов Microsoft Dynamics 365 дает нам более четкое представление о запросах наших клиентов, помимо оказания поддержки, команда должна постоянно добавлять повторяющиеся случаи в базу знаний, чтобы эта информация была легко доступна всем пользователям портала поддержки.

Вынос

Мы вспоминаем эти события с позитивом, потому что они позволили нам привести портал поддержки в наилучшее состояние для наших клиентов. Хотя это был длительный проект, потребовавший усилий и полной отдачи от членов нашей команды, он, несомненно, окупился. Возможность предложить больше удобств нашим клиентам и мощный источник информации для нас означает, что мы получили рычаг для дальнейшего достижения наших целей, и мы с нетерпением ждем, как мы сможем и дальше оптимизировать наши процессы с помощью Портала поддержки клиентов Microsoft Dynamics 365.

Мы надеемся, что вам понравилось узнавать больше о нашем опыте создания нашего Портал поддержки. В Часть 1 этой статье мы включили часть плагина, который мы создали специально для Служба поддержки клиентов Microsoft Dynamics 365. Это было чрезвычайно полезно для нас, так что не стесняйтесь взглянуть и обратиться за полной версией!


Об авторе

Диогу Гувейя

По адресу Диогу Гувейя

"После завершения учебы в Великобритании я присоединился к команде маркетинга в Connecting Software, чтобы создавать контент по интеграции программного обеспечения и ряду других ИТ-тем. Если у вас есть какие-либо замечания или предложения, пожалуйста, обращайтесь".

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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