Перейти к содержанию

Конфигурация

Эта страница перечисляет каждую настройку Helpdesk Pro, сгруппированную по вкладке, на которой она находится. Настройки лежат в user/config/plugins/helpdesk-pro.yaml, и почти все их можно редактировать на странице настроек плагина в Admin Next (кнопка Settings над рабочей областью открывает её). Значения по умолчанию поставляются в собственном helpdesk-pro.yaml плагина.

Секреты (секреты webhook, пароль IMAP, секрет S3, ключ API встраивания) никогда не отправляются браузеру ни одним эндпоинтом Helpdesk Pro. Где настройка принимает секрет, можно написать env:NAME, чтобы прочитать его из переменной окружения.

Некоторые вещи вообще не настройки: проекты, статусы, метки, пользовательские поля, правила, политики SLA и каналы уведомлений настраиваются в рабочей области и хранятся в базе данных.

Карта вкладок

Вкладка Что управляет
Desk Первый экран рабочей области, виджет панели управления, доски
Portal & Access Маршрут справочного центра, гостевые обращения, защита от спама, ссылки для входа
Email & Notifications Исходящая почта, вид каждого письма, уведомления сотрудникам, входящая почта, IMAP, адреса ответа
Attachments Ограничения загрузки, разрешённые типы, очистка, приватный бакет
Search Синонимы, исправление опечаток, подсказки, семантический поиск
Live Updates Обновления в реальном времени и присутствие
Advanced База данных и фоновые задания
Help Center Строка навигации портала, описания и значки тем
Rules Правила включены или выключены, и встроенное автоматическое закрытие
SLA Часы SLA и время предупреждения
Ratings Оценки клиентов
Client Organizations Дополнительные заблокированные домены электронной почты
Channels Доставка в каналы уведомлений

Два ключа только для YAML: privacy.ip_hashing и jobs.catch_up_exclude. enabled — переключатель состояния плагина над вкладками.

Общие

Ключ По умолчанию Что делает
enabled true Включает плагин.
privacy.ip_hashing true Helpdesk Pro запоминает IP-адрес, с которого человека видели последним, чтобы сотрудники могли замечать злоупотребления. Когда включено, хранится только хеш SHA-256; когда выключено — сам адрес.

Рабочая область

См. Рабочую область сотрудников.

Ключ По умолчанию Что делает
desk.default_view my-work Экран, на котором открывается рабочая область: my-work или tickets.
admin2.dashboard true Виджет Helpdesk на панели управления Admin Next.
desk.staff_groups [] Группы Grav, в которых состоит каждая учётная запись сотрудника (Staff Groups, выбираются из групп сайта). Сотрудника добавляют при следующем использовании рабочей области, и группы только добавляются, никогда не удаляются. Несуществующая группа пропускается. Клиенты получают portal.client_groups так же.
desk.board true Доски для проектов, у которых включена настройка доски. false скрывает все доски, а маршрут доски отвечает 404.

У сочетаний клавиш нет настройки сайта: каждый человек выключает или включает их для своего браузера в листе сочетаний (нажмите ? в рабочей области).

Portal & Access

См. Справочный центр и портал, Форму запроса и гостей и Ссылки для входа.

Ключ По умолчанию Что делает
portal.route /help Где находится справочный центр, когда ни одна страница не использует шаблон helpdesk.
portal.guest_submissions true Могут ли гости отправлять форму обращения. Только проекты public принимают гостевые обращения.
portal.client_groups [] Группы Grav, в которых состоит каждая учётная запись клиента. Клиента добавляют при входе или открытии справочного центра, и группы только добавляются, никогда не удаляются. Несуществующая группа или группа, дающая доступ к админке или рабочей области, пропускается. См. Справочный центр и портал.
portal.client_store_groups [] Группы покупателей KahunaCart, в которых состоит покупатель магазина, пока он клиент службы поддержки (Client Store Groups, выбираются из групп покупателей KahunaCart; настройка появляется, только когда KahunaCart установлен и включён). Выдаются на лету и никогда не сохраняются: исчезают, когда человека отвязывают, блокируют или удаляют, а также когда вы убираете группу из списка. Сотрудники их никогда не получают. Группа покупателей также даёт групповые цены, скидки и доступ к страницам. См. Справочный центр и портал.
portal.captcha cap none, cap, turnstile или recaptcha: провайдеры капчи плагина Form.
portal.captcha_signed_in false Спрашивать капчу и у вошедших клиентов.
portal.min_submit_seconds 3 Гостевое обращение, отправленное раньше этого времени после открытия формы, получает баллы спама.
portal.limits.ip_per_hour 5 Гостевых обращений с одного IP-адреса в час. 0 отключает ограничение.
portal.limits.email_per_hour 5 Гостевых обращений с одного адреса электронной почты в час.
portal.limits.guest_per_hour 60 Гостевых обращений от всех вместе в час.
portal.magic_links true Клиенты входят по присланной ссылке, а письма клиентам открывают обращение уже с выполненным входом.
portal.magic_link_minutes 30 Сколько работает ссылка для входа, запрошенная человеком.
portal.email_link_days 7 Сколько работает ссылка внутри письма клиенту.

Email & Notifications

Email

См. Исходящую почту.

Ключ По умолчанию Что делает
email.support_address пусто Адрес, на который пишут клиенты. С него отправляется почта, и на него приходят ответы.
email.from_address пусто Только когда почта должна уходить с другого адреса. Пусто использует адрес поддержки, затем From плагина Email.
email.site_url пусто Адрес, с которого начинаются ссылки в письмах, например https://example.com. Пусто использует адрес последнего посещения сайта.
email.from_name_format {agent} at {site} Имя отправителя в ответах клиентам.
email.subject_tag false Добавляет видимый [#123] в темы писем клиентам.
email.acknowledge_web_tickets true Отправлять подтверждение для обращений из справочного центра.
email.acknowledge_email_tickets true То же для обращений, пришедших по почте.
email.attach_max_mb 10 Сколько файлов ответа сотрудника письмо клиенту несёт само. 0 оставляет каждый файл ссылкой.

Внешний вид и брендинг

См. Фирменное оформление почты.

Ключ По умолчанию Что делает
email.brand.name пусто Название компании в шапке, подписях, имени отправителя и тегах тем для сотрудников. Пусто использует заголовок сайта.
email.brand.logo пусто Изображение шапки: путь на сайте или адрес https://. Пусто или none показывает название.
email.brand.logo_dark пусто Светлая версия логотипа для почтовых приложений в тёмном режиме.
email.brand.logo_width 140 Ширина отрисовки логотипа, 40–320px.
email.brand.show_name false Печатать название рядом с логотипом тоже.
email.brand.accent_color пусто (#1f6feb) Ссылки, темы заявок и линия вдоль верха карточки.
email.brand.button_color пусто (#1f6feb) Каждая кнопка.
email.brand.font system system, helvetica, verdana, trebuchet, georgia или custom.
email.brand.font_custom пусто Набор шрифтов, когда font равно custom.
email.brand.footer пусто Необязательная строка Markdown под каждым письмом.
email.brand.appearance auto auto (следовать почтовому приложению читателя), light или dark.

Уведомления

См. Уведомления.

Ключ По умолчанию Что делает
notifications.default_level aimed everything, aimed или nothing: уровень сотрудников, которые не выбрали свой.
notifications.default_email fallback fallback, digest или off: режим почты сотрудников, которые не выбрали свой.
notifications.grace_seconds 60 Сколько срочное уведомление ждёт прочтения в приложении перед отправкой по почте.
desk.batch_minutes 10 Сколько ждут остальные уведомления, чтобы несколько изменений стали одним письмом.
notifications.hold_while_active true Задерживать почту для людей, активных в рабочей области.
notifications.hold_max_minutes 60 Наибольшее время задержки уведомления.
notifications.digest_hour 7 Местный час отправки ежедневного дайджеста.
notifications.keep_read_days 90 Прочитанные уведомления старше этого удаляются.

Входящая почта, ящик IMAP и адреса ответа

См. Входящую почту.

Ключ По умолчанию Что делает
inbound.enabled false Принимать почту: ответы на вашу почту и новые заявки по почте.
inbound.receiver '' generic, cloudflare, imap или провайдер плагина Email (postmark, mailgun, sendgrid, ses, resend, mailersend).
inbound.route /_helpdesk/inbound Начало адреса webhook, {site}{route}/{receiver}/{secret}.
inbound.secret '' Секрет URL в адресе webhook, 32 или больше случайных символов.
inbound.signing_secret '' Секрет HMAC, который проверяют приёмники generic и cloudflare. Пусто использует inbound.secret.
inbound.default_project support Слаг проекта для новых заявок, которым не совпал ни один почтовый псевдоним.
inbound.cc_join true Люди из To и Cc письма клиента становятся копиями новой заявки.
inbound.max_bytes 26214400 Наибольшее принимаемое письмо (25 МБ).
inbound.max_attachments 20 Сколько файлов сохраняется из одного письма.
inbound.per_sender_per_hour 20 Больше этого числа писем с одного адреса в час отклоняется.
inbound.new_tickets_per_sender_per_hour 5 Сколько новых заявок один адрес может открыть по почте в час.
privacy.inbound_raw_days 90 Сколько дней журнал входящей почты хранит исходную копию каждого письма. 0 хранит её.
inbound.imap.host '' Сервер IMAP.
inbound.imap.port 993 993 для ssl, обычно 143 для starttls.
inbound.imap.encryption ssl ssl, starttls или none.
inbound.imap.username '' Имя пользователя ящика.
inbound.imap.password '' Пароль приложения.
inbound.imap.folder INBOX Папка, из которой читается новая почта.
inbound.imap.processed_folder '' Перемещать сюда импортированную почту. Пусто помечает её прочитанной и оставляет.
inbound.imap.interval_seconds 120 Как часто читается ящик (не реже 60).
inbound.address '' Куда идут ответы на вашу почту с добавленным токеном. Пусто использует почтовый псевдоним проекта, затем email.support_address, затем From.
inbound.plus_addressing true Помещать токен ответа в адрес (support+t…@). Выключайте, когда ваша почтовая система отклоняет или удаляет +detail.

Вложения

См. Вложения.

Ключ По умолчанию Что делает
attachments.enabled true Позволяет клиентам и сотрудникам добавлять файлы. При выключении существующие файлы остаются читаемыми.
attachments.max_mb 10 Наибольший принимаемый файл в мегабайтах.
attachments.max_per_message 10 Сколько файлов может нести одно сообщение.
attachments.extensions [png, jpg, jpeg, gif, webp, pdf, txt, log, csv, zip, json, md] Расширения, которые можно загружать. Программы и скрипты отклоняются всегда.
attachments.uploads_per_hour 60 Загрузок на человека (или на гостевой адрес) в час. 0 отключает ограничение.
attachments.draft_hours 24 Загрузки, не отправленные с сообщением, удаляются через столько часов.
attachments.grace_days 7 Неиспользуемый сохранённый файл хранится столько дней перед удалением.
attachments.storage.s3.enabled false Также хранить копию каждого файла в приватном S3-совместимом бакете.
attachments.storage.s3.endpoint '' HTTPS-эндпоинт сервиса бакета без имени бакета.
attachments.storage.s3.bucket '' Бакет.
attachments.storage.s3.region auto auto для Cloudflare R2; регион бакета в остальных случаях.
attachments.storage.s3.key '' Идентификатор ключа доступа.
attachments.storage.s3.secret '' Секретный ключ доступа.
attachments.storage.s3.prefix helpdesk Папка внутри бакета.

См. Поиск. Пустой семантический ключ берёт значение YetiSearch Pro, когда у этого плагина включён семантический поиск, иначе встроенное значение по умолчанию, указанное в скобках.

Ключ По умолчанию Что делает
search.fuzzy true Повторять поиск, не нашедший ничего, с исправлением опечаток.
search.synonyms true Расширять поиск списком синонимов.
portal.suggestions true Предлагать статьи, пока люди печатают в поле поиска и форме запроса.
portal.kb_session_days 30 Сколько cookie hd_kb объединяет поиски посетителя.
privacy.kb_events_days 90 Поиски, просмотры и ответы справочного центра удаляются через столько дней.
search.semantic.enabled false Ранжировать по смыслу, а также по словам.
search.semantic.provider openai_compatible Любой OpenAI-совместимый API встраивания.
search.semantic.base_url пусто (https://api.openai.com/v1) Базовый URL API.
search.semantic.api_key пусто Ключ или env:NAME.
search.semantic.model пусто (text-embedding-3-small) Модель встраивания.
search.semantic.dimensions пусто (256) Длина вектора; 0 — собственная длина модели.
search.semantic.weight пусто (0.5) Доля ранжирования, приходящаяся на смысл.
search.semantic.min_similarity пусто (0.25) Документы менее похожие на это никогда не появляются только по смыслу.
search.semantic.min_query_chars пусто (3) Более короткие запросы только по ключевым словам.
search.semantic.query_prefix пусто Текст перед запросами.
search.semantic.document_prefix пусто Текст перед документами.
search.semantic.query_timeout пусто (5) Секунды ожидания встраивания запроса.
search.semantic.timeout пусто (20) Секунды ожидания фонового процесса для пакета встраиваний документов.
search.semantic.embed_after_indexing true Ставить встраивание в очередь при каждом изменении документов.
search.semantic.batch_limit 200 Документов на задание встраивания.
search.semantic.notes false Также встраивать внутренние заметки (отправляет текст заметок в API).

Обновления в реальном времени

См. Обновления в реальном времени.

Ключ По умолчанию Что делает
realtime.enabled true Отправлять обновления в реальном времени через плагин Sync, когда он установлен. Присутствие работает в любом случае.
realtime.poll_idle_ms 4000 При опросе — как часто открытая вкладка спрашивает новости (не реже 1000).
realtime.presence_heartbeat_seconds 15 Как часто открытая заявка отправляет сигнал присутствия (от 5 до 40).

Advanced

См. Установку и Задания и cron.

Ключ По умолчанию Что делает
database.sqlite.path user-data://helpdesk-pro/db/helpdesk.sqlite Файл SQLite: потоковый путь или абсолютный путь.
database.auto_migrate sqlite sqlite (или auto) применяет новые миграции при первом запросе после обновления; manual ждёт bin/plugin helpdesk-pro migrate.
jobs.inline_drain true Выполнять собственные задания запроса сразу после его ответа.
jobs.inline_budget_seconds 3 Сколько один запрос может потратить на свои задания (не более 30).
jobs.catch_up true Без cron веб-запросы выполняют несколько готовых заданий не чаще раза в минуту.
jobs.catch_up_exclude [search.embed] Типы заданий, которые догоняющая обработка никогда не выполняет. Только YAML.
jobs.job_timeout_seconds 120 Задание, работающее дольше, завершается ошибкой и повторяется. 0 отключает ограничение.
jobs.retention_days 30 Завершённые и отменённые задания и строки отправленной почты удаляются через столько дней.

Help Center

Ключ По умолчанию Что делает
portal.nav true Строка навигации на каждой странице портала и справочной статье. Выключение позволяет теме разместить helpdesk_nav() самостоятельно.
kb.categories {} Однострочное описание и значок для каждой темы базы знаний по имени категории или слагу. См. Описания и значки тем.

Rules

См. Правила и автоматизация.

Ключ По умолчанию Что делает
rules.enabled true Выполняет правила, созданные в Automation → Rules. У автоматического закрытия свой переключатель.
rules.auto_close.enabled false Напоминать о решённых заявках, чей клиент замолчал, затем закрывать их.
rules.auto_close.nudge_days 7 Сколько дней клиент решённой заявки молчит до напоминания.
rules.auto_close.close_days 3 Через сколько дней после напоминания заявка закрывается, если клиент не ответил.
rules.auto_close.message '' Текст напоминания. {days} становится close_days. Пусто использует встроенный текст.

SLA

См. SLA.

Ключ По умолчанию Что делает
sla.enabled true Вести часы SLA по заявкам.
sla.warning_minutes 60 За сколько до наступления срока отправляется предупреждение. 0 не отправляет предупреждений.

Оценки

См. Оценки клиентов.

Ключ По умолчанию Что делает
csat.enabled false Спрашивать клиентов «How did we do?», когда их обращение решено.
csat.projects [] Слаги проектов, в которых спрашивать. Пусто спрашивает в каждом проекте.
csat.token_days 14 Сколько работают ссылки на оценку и ответ можно изменить.
csat.ask_comment_on_not_good true После «Not good» спрашивать, что можно было сделать лучше.
csat.notify_not_good true «Not good» уведомляет сотрудника, которому засчитана оценка.

Client Organizations

См. Организации.

Ключ По умолчанию Что делает
organizations.blocked_domains [] Ещё домены электронной почты, которые не может указать ни одна организация, сверх публичных провайдеров, уже отклоняемых Helpdesk Pro.

Channels

См. Каналы уведомлений.

Ключ По умолчанию Что делает
channels.enabled true Отправлять в каналы Slack, Discord, webhook и email вообще.
channels.timeout_seconds 5 Сколько может занимать один запрос (от 1 до 30).
channels.max_attempts 4 Попыток на сообщение при таймауте, ограничении частоты или ошибке сервера.
channels.pause_after_failures 5 Ставить канал на паузу после стольких окончательно неудачных сообщений подряд. 0 никогда не ставит на паузу.
channels.log_days 14 Сколько хранится журнал доставок каждого канала.