Что такое Agent Workspace и необходимые для пространства роли?
Прежде всего, насчёт актуальности информации по версии инстанса: на момент написания этой статьи для примера используется инстанс с версией апгрейда Rome.
В ServiceNow Agent Workspace представляет собой рабочее пространство, в котором можно кастомизировать и настроить практически всё под любые типы задач. Есть заранее подготовленные рабочие области следующих типажей:
IT Service Management
Customer Service Management
Request Management
HR Service Delivery
Вкратце об Agent Workspace можно сказать следующее: здесь пользователи могут быстро находить, просматривать, проверять и брать в работу любые кейсы, оставаясь при этом на одной вкладке браузера.
Для чего нужен Agent Workspace? Для того, чтобы повышать прозрачность в работе пользователей и иметь возможность увидеть проблемы и инциденты в реальном времени.
Чтобы активировать рабочую среду Agent Workspace, необходимо включить плагин в System Definition – Plugins от пользователя с ролью администратора инстанса.
Agent Workspace содержит в себе те же функции, что и интерфейс UI16, но в несколько другом расположении: тут точно так же можно сортировать столбцы, фильтровать записи по значению поля, редактировать списки, добавлять многоуровневые фильтры при поиске среди записей и т. д.
Для доступа к рабочей среде Agent Workspace необходима одна из следующих ролей (помимо главного администратора):
Роль | Описание |
workspace_admin (содержит в себе: form_admin, chat_admin, template_editor, ui_action_admin, personalize_form, interaction_admin, workspace_list_admin; ) | Предоставляет доступ к приложению и модулям для конфигурации и изменения рабочей среды Agent Workspace и её отображения для других пользователей. |
workspace_list_admin (содержит в себе agent_workspace_user) | Позволяет создавать категории списков, создавать и назначать отфильтрованные списки на отображение в Agent Workspace – Lists. Данная роль повышается в elevated role. |
agent_workspace_user (данная роль присутствует в ролях itil (ITSM) и sn_esm_agent(CSM) ) | Предоставляет пользователю доступ в Agent Workspace UI. |
Краткий обзор концепта и функционала Agent Workspace
Найти Agent Workspace в инстансе довольно просто, достаточно вбить Agent Workspace в поиск в фильтр-навигаторе либо по ссылке инстанса:
https://<инстанс>.service-now.com/now/workspace/agent/home
Все элементы в пределах пространства Agent Workspace можно полностью кастомизировать под свою необходимость.
В правом верхнем углу рабочего пространства находятся уведомления и глобальный поиск.
Сбоку слева располагаются основные кнопки: home, lists, analytics center, inbox – в зависимости от того, какие из них включены в настройках отображения.
Все рабочие записи находятся во второй вкладке – lists (cases, incidents, problem и т. д.), и что именно за списки будут отображены разным пользователям, точно так же можно настраивать, как и в интерфейсе UI16 –создавать новые списки либо изменять уже существующие.
Также имеется возможность создать запись прямо с вкладки Lists с помощью Add Interaction:
С апгрейда по версии Rome вкладка Lists выглядит следующим образом:
В самом хэдере каждой записи есть возможность добавлять тэги:
Конфигурация Agent Workspace
Для текущего пользователя можно отдельно включить/отключить отображение некоторых элементов, не затрагивая отображение для всех остальных пользователей, через Settings в верхней кнопке user menu.
Чтобы настроить отображение для остальных пользователей, необходимо воспользоваться Configure Workspace либо Configure Page (необходимая роль - workspace_admin).
Так, к примеру, Configure Page – Form Layout подойдет для настройки отображения конкретных полей для секций на самой форме:
А Configure page – Related Lists откроет страницу для настройки отображаемых внутренних вкладок внизу формы, где Selected - выбранные для отображения вкладки секции Related Items Menu на форме.
Остальные возможности Configure Page открывают следующие таблицы в пространстве UI16, но с разными фильтрами:
UI Actions (sys_ui_action.list)
Ribbon (sys_aw_ribbon_setting.list)
Related Items (sys_declarative_action_assignment.list)
Contextual Side Panel (sys_declarative_action_assignment.list)
Configure Workspace позволяет кастомизировать страницы, компоненты, логотип, хэдер и другие объекты в рабочем пространстве:
С помощью Open in UI Builder можно перейти к настройке внешнего вида страниц Agent Workspace и видоизменить компоненты на них:
К примеру, теперь главная страница данного пространства Agent Workspace будет выглядеть так:
При открытии Configure Workspace в самом низу в Related lists имеются следующие возможности:
Настроить отображение списков в Lists (Workspace Lists)
Удалить или редактировать тэги для страниц в Home (Landing Pages - полноценное редактирование через UI Builder)
Изменить таблицу для кнопки Add Interaction (New Record Menu Items)
Изменить отображение основных кнопок слева в пространстве Agent Workspace (Workspace Modules)
Для настройки отображения списков в Lists необходимая минимальная роль - workspace_list_admin. В списках есть возможность создавать новые или изменять существующие категории (sys_aw_list_category.list).
Чтобы изменить или создать именно новые списки в Lists, понадобится таблица Workspace Lists (sys_aw_list.list).
При создании списка всегда важно учитывать поле order, т. к. от него зависит, в каком порядке он отобразится во вкладке Lists.
Итог и быстрый взгляд на плагины и компоненты
В ServiceNow также имеются плагины и для других рабочих пространств, имеющие заранее подготовленные настройки конфигурации, для работы с ними их необходимо установить. Такими, например, являются:
CMDB (cmdb-workspace)
Customer Service Management (snc.agent_workspace.csm)
HR Services (sn_hr_agent_workspace)
IT Service Management (snc.agent_workspace.itsm)
Operational Intelligence (oi-scoped-app)
Security Incident Response (sn_app_secops_ui)
А также дополнительные плагины конкретно для рабочей среды Agent Workspace:
Advanced Work Assignment [com.glide.awa]
Agent Chat [com.glide.interaction.awa]
Openframe [com.sn_openframe]
Дополнительные плагины для Agent Workspace предоставляют возможность пользователю связаться с «агентом» поддержки инстанса с помощью прямого чата (Agent Chat), встроить возможность «почты» прямо в Agent Workspace и подключить много других полезных функций.
В среде Agent Workspace можно не только создать кастомизированную целевую страницу, но и создавать собственные компоненты в зависимости от нужд клиента - от встраивания интеграции с внешними программами прямо из рабочего пространства инстанса до просто немного видоизмененных компонентов вроде Agent Assist. Для этого в Service Now существуют Now-компоненты, включающие в себя контейнеры, выдвижные списки, компоненты для аналитики производительности или визуализацию отчетных данных и множество других элементов, которые можно найти по ссылке ниже:
https://developer.servicenow.com/dev.do#!/reference/now-experience/components
На странице с компонентами находится возможность просмотреть и интерактивно изменить их код под свои нужды, после чего использовать его для девелопинга видоизмененного компонента для ServiceNow в том же Visual Studio Code или с помощью Node.js (но это отдельная большая тема, в которую в данной статье сильно углубляться уже не станем). Для деплоинга своих компонентов останется только подключиться через Visual Studio Code к инстансу и произвести now-cli команду деплоя. Все необходимые инструкции по now-cli можно найти также здесь:
https://developer.servicenow.com/dev.do#!/reference/now-experience/rome/cli/getting-started
Благодаря Now-компонентам можно полностью контролировать визуализацию страницы в среде Agent Workspace.
Все эти компоненты можно добавить на страницу формы записи в Agent Workspace в любое место, где это вам необходимо (в моем случае мы однажды добавляли видоизмененный Agent Assist-компонент с интеграцией для MS Teams, чтобы пользователь мог найти экспертов по своему вопросу и увидеть, онлайн ли они, либо в какой период будут на связи. Самым сложным было именно разобраться с деплоингом в инстанс и подключением к нему безопасными методами по всем best practices, так как секьюрность данных клиента - всегда на первом месте).
Создание отдельных компонентов для Agent Workspace – достаточно обширная тема, но если коснуться её хотя бы вкратце, всегда надо помнить про безопасность кода (храните все константы, ссылки и любые конкретные данные в таблице sys_properties на инстансе, в коде только ссылайтесь константами на место, где оно хранится). Всегда оставляйте комментарии в коде для коллег, которым однажды может понадобиться работать с вашим компонентом. Всегда уточняйте возможность действий с данным компонентом, прежде чем задеплоить его на инстанс, чтобы не нарушить работу других компонентов на инстансе, о которых вы можете не знать.
Подводя итог, из личного опыта скажу: работа с кастомизацией Agent Workspace сначала может показаться чем-то страшным и непонятным. Где и что менять? Можно ли обойтись уже имеющимися в ServiceNow решениями? Связаны ли с Workspace какие-то конкретные таблицы для изменения компонентов без хардкодинга? Однако, как и с любой другой практикой, главное - начать, пробовать делать что-то самостоятельно и углубляться в изучение. Чем больше пробуешь, тем больше знаешь и разбираешься в данном вопросе, и работа с AgentWorkspace - не исключение.