Отложенная отправка письма клиенту

Я вам пишу…чет вдруг в субботу.

Эта милая барышня с картинки всем своим видом как бы намекает на тему сегодняшнего обсуждения. Да, речь пойдет о письмах. Я бы даже уточнила — о несвоевременных письмах. И о том, как эту несвоевременность преодолеть функционалом ПланФикса. 

Вообще, тема появилась на форуме, нам задали вопрос — каким образом в ПланФиксе организовать отправку письма, если оно написано на выходных, а отправить нужно в будний день? Не каждый адресат обрадуется письму в выходные, особенно по рабочим вопросам.

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

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

Возможно, среди наших читателей есть те, кто предпочитает смотреть, а не читать — на нашем канале в YouTube появился ролик, демонстрирующий все нюансы настроек. Добавлю-ка я его и в заметку тоже. Артём старался 🙂

А любители почитать могут продолжить любимое занятие. Счастливый финал гарантирую.

Пользовательские поля — помощники

Создаем два пользовательских поля:

1. «Следующий контакт с клиентом» — поле типа Дата и время, в нем будет устанавливаться дата и время следующего контакта с клиентом.

2. «Отложенное письмо» — Поле типа Текст, в нем будет храниться текст письма.

Добавляем эти поля в шаблон — это мы уже умеем,  процесс подробно описан в этой статье Справочного центра.

Сценарий, который работает без выходных

Вот настроенный сценарий, который отправляет письмо в установленную дату:

Сценарий для отправки письма
Сценарий для отправки письма.
По клику картинка откроется в новом окне и большем размере.

Теперь разберем по этапам, что делает сценарий. Он сработает в установленный нами момент времени и проверит, есть ли текст письма в поле «Отложенное письмо»:

Первый этап сценария - проверка условий срабатывания
Первый этап сценария — проверка условий срабатывания.
По клику картинка откроется в новом окне и большем размере.

Сценарий выполняет действия от имени того, кто общается с клиентом:

Выбираем, от чьего имени отправляются письма
Выбираем, от чьего имени отправляются письма.
По клику картинка откроется в новом окне и большем размере.

Затем переходит к решительным действиям — отправке письма:

Отправляем письмо клиенту
Отправляем письмо клиенту.
По клику картинка откроется в новом окне и большем размере.

Обратите внимание, в поле «Уведомить об этом» нужно указать ту роль, в которой находится получатель письма в задаче.

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

Тут бы можно было и закончить процесс настройки, но почему бы не создать себе дополнительное удобство — очистить оба поля после отправки письма. Это делаем такой настройкой:

Очищаем поля после отправки письма
Очищаем поля после отправки письма.
По клику картинка откроется в новом окне и большем размере.

Вот и все премудрости. Как видите, ничего сложного, а полезностей много.

Осталось только в карточке задачи, созданной по шаблону с новыми полями, установить дату и время отправки письма. И в поле «Отложенное письмо» добавить текст для клиента:

Заполняем поля даты и текста нашего письма
Заполняем поля даты и текста нашего письма.
По клику картинка откроется в новом окне и большем размере.

Все, дело сделано. ПланФикс в нужный день в заданное время отправит письмо клиенту. Теперь можно выпить чашечку кофе и сделать легкую разминку. Выходной все-таки.

Этот кейс будет полезен для новичков — любителей поработать на выходных. Опытные пользователи наверняка могут подсказать и другие решения — будет интересно увидеть их в комментариях.


Новостями, кейсами и опытом коллег мы делимся не только в блоге, но и в соцсетях тоже. Мы есть в Facebook, ВКонтакте, Telegram, Twitter и YouTube-канале. Желающие могут подписаться и получать новости оперативно.

19 Comments

  1. Аватар

    Увидел заголовок и преждевременно обрадовался. 🙂 Обращались в поддержку с просьбой реализовать функционал отложенного комментария. И кейс описывали. Он может быть не только про внешний контакт. Некоторые руководители, например, любят разгребать текучку, либо вечером (после рабочего дня), либо утром (непосредственно, до рабочего дня). Ну и в выходные порой, да. А значит им нужно дать ответы и/или задать вопросы своим сотрудникам. Нормальный руководитель не хочет беспокоить своих сотрудников рабочими уведомлялками за пределами рабочего времени, он хочет написать комментарий и запланировать его отправку на рабочее время. Этого функционала нет, а он очень нужен.
    Ну и да, городить огород из сценария и доп. полей на микродействие (а в парадигме нового чат-интерфейса это именно так уже воспринимается) — это перебор. Хорошая попытка, но нет. Ждем нормального функционала отложенных комментариев.

    1. Аватар

      Я в основном работаю по поздним вечерам/ночам и в выходные своих сотрудников, поэтому полностью поддерживаю запрос на добавление отложенной отправки комментария. Крайне необходимая вещь. И для задач с сотрудниками и для уведомлений внешних контактов. Сейчас ооочень часто оставляю комментарии сотрудникам, написанные ночью, в режиме черновика, чтобы не беспокоить сотрудников, а потом на следующий день отправляю их. Основная проблема ещё и в том, что этот мой «следующий день» начинается тогда, когда рабочий день сотрудников уже заканчивается и выполнить нужное они могут только уже в следующий свой рабочий день, а могли бы в этот, прямо с утра. И всегда стоит дилема «Что делать?»: будить среди ночи уведомлялкой и будет всё сделано с утра или же не будить и будет сделано через день…

      P.S. Кстати, одна из причин перехода из общения в Вайбере на общение в Телеграм — это была как раз возможность отложенной отправки и отправки без звука.

  2. Аватар

    Я однажды писал о необходимости отложенной отправки комментария, независимо от канала связи.
    Например, это может быть полезно:
    1. Комментарий отправили клиенту, вместо того, чтобы отправить сотруднику (это самое неприятное)
    2. Допущенные ошибки в комментарии
    3. Случайно отправленный недописанный комментарий
    4. Ситуация из задачи — отправка после выходных\утром

    Было бы неплохо иметь такую возможность. Или хотя бы задержку в 5-10 сек перед фактической отправкой уведомления получателю с момента нажатия «отправить» — чтобы было время включить заднюю))

  3. Дмитрий Гончаренко

    В комментариях упоминаются разные, в том числе и не связанные между собой штуки, попробую ответить по всем:

    1. Почему не сделать нативную задержку отправки?
    — Потому что нужна она мало кому и изредка, а мозолить глаза в интерфейсе будет всем и всегда. Даже если это маленькая галочка или отдельный пунктик. Даже если включать в настройках отдельного сотрудника. Все это дополнительно нагружает и так не самый простой интерфейс системы и ухудшает юзабилити. Поэтому мы очень придирчиво оцениваем каждую новую «галочку», особенно в таких частых операциях, как добавление комментария. В данном случае соотношение «польза/вред» мы оцениваем как недостаточное для того, чтобы в это ввязываться.

    2. Почему в принципе не откладывать отправку всех комментариев до начала рабочего времени?
    — Подробно отвечал ранее в соответствующей теме на форуме.
    https://forum.planfix.ru/viewtopic.php?f=42&t=3844&p=32804

    3. Почему не сделать задержку или отмену в течение 5-10 сек как в Gmail?
    — Можно, но очень затратно в плане поддержания (существенно повышает требования к серверным мощностям для работы дополнительных очередей) + создает поле для накладок («задержанный» комментарий добавился в задачу позже, чем отправленный без задержки другим пользователем и т.п.). Задача лежит в очереди, но не двигается.

    Отдельно скажу, что подход «Настрой себе сам как нужно» это не костыли, а один из столпов, на которых стоит ПланФикс 🙂

    1. Аватар

      Здравствуйте, Дмитрий. Спасибо за ответ. Поскольку последняя Ваша ремарка имеет отношение к моему комментарию в Телеграм, считаю правильным ответить и развить тему.
      1. «Настрой себе сам как нужно» в контексте переписки со Степаном было про цифровую гигиену, а не про сам Планфикс и его столпы.
      2. Еще раз внимательно перечитал тему на форуме. С момента нашего обращения по этому вопросу там мало что изменилось. Без ответа остаются вопросы:
      2.1. Почему отложенные напоминания не несут в себе такой серьезной нагрузки, а отложенные комментарии — да? В чем принципиальная разница, вроде же в рамках одной сущности мыслим (действия же)?
      2.2. Почему основным вариантом рассматривался «накопились и гавкнулись одним общим скопом»? Каким принципиальным столпам мешает реализация отложенных комментариев по конкретному таймингу? Как в ТГ — выбрал дату и время и отложил в отправку? На пользовательской стороне это не будет выполнять эффект «размазывания» нагрузки?
      2.3. Ок, даже если в ПФ это будут затыки в очереди, на форуме писали, что в API Телеграм есть отложенные. Почему бы не подружить бота с этим функционалом и полностью снять вопрос нагрузки со стороны ПФ?

      В заключении скажу прямо, но не в обиду, а на подумать. Дмитрий, складывается впечатление, что действительно важные фичи, которые прям повлияют на продуктивность менджмента, часто пролетают мимо стека разработки исключительно потому, что о них не говоря в публичной плоскости. Ну или команда ПФ так отмазывается от трудоемких задач — ссылаясь на отсутствие запроса. Нет запроса — нет места в стеке. Это как с обещанными несколько лет назад личными задачами (вы не представляете, какой велосипед я себе накрутил, чтобы реализовать в ПФ метод работы с потоком по Дорофеевским Джедайским техникам!). Откровенно говоря, я всю команду перетащил и партнеров уговорил на смену CRM именно из-за планов по личным задачам.

      Опираться на публичный фидбэк в стратегических (и обещанных, повторюсь уже давно) решениях не всегда корректно. Публичный фидбэк, зачастую, дает сообщество интеграторов и методистов/идеолгов, которые занимаются внедрением как ремеслом. Им личные задачи или отложенные комментарии не очень актуальны. Хотите объектива — проведите массовый опрос пользователей, как это делают многие продукты. Прям, чтобы конечный пользователь получил уведомление (задачу) и прошел опрос. И спросите — где у них болит. Может оказаться, совсем не там, где вы «щупаете».

      С уважением к труду команды Планфикс.

      1. Дмитрий Гончаренко

        Здравствуйте, Артём!

        1. Я без персоналий, просто все, что бросилось в глаза постарался собрать в одном комментарии)

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

        По заключению:

        — Мы опираемся не столько на публичную плоскость (ее ограничения понятны и Вы их правильно описали), а на наличие запросов от разных людей. Эти запросы мы собираем по всем каналам, но наиболее ценными являются запросы, которые содержат описания реальных бизнес-ситуации, в которых предлагаемое решение очень поможет. Они, как правило, как раз непубличны и приходят к нам из пользовательских аккаунтов.

        — Собираем мы их не просто «в голову», а фиксируем в виде ссылок в чек-листе задачи-запроса, чтобы потом получить вот такой фильтр задач, отсортированный по количеству запросов: https://p.pfx.so/pf/rk/Vs8eIR.jpg

        — Это не значит, что потом мы идем строго по этому фильтру. Во-первых, есть стратегические задачи, которые у нас никто не попросит. Во-вторых, по запрашиваемым нужно оценивать сложность разработки и поддержания предлагаемой фичи, которые могут оказаться не в ее пользу. Но в любом случае количество запросов позволяет добавить объективности в наши ощущения «что важнее делать прямо сейчас». Также это реальная возможность для любой задачи, даже той что мы считаем бесперспективной, набрать голоса и пробиться в релиз. Наше мнение может меняться под влиянием аргументов, так уже было не раз.

        — Конкретно по личным задачам: это очень прикольная фича, я бы сам с удовольствием ей пользовался, т.к. личные дела я фиксирую в ПФ и сейчас их видят мои коллеги-администраторы, что не нужно ни мне, ни им. При этом она сложна в реализации и имеет очень неприятный побочный эффект в виде замедления работы системы для администраторов, даже если они не планируют пользоваться Личными задачами. Объясняется это тем, что сейчас все выборки из базы данных для администраторов не проверяют наличие у них доступа к задачам (на то они и администраторы, чтобы видеть все), а после введения Личных задач должны будут проверять. А это основная составляющая, замедляющая любые выборки задач в ПФ. И эту штуку не вынесешь даже на уровень настроек «Буду/не Буду использовать Личные задачи» — просто все станут работать медленнее. Соответственно, эти 2 фактора (сложность + замедление работы) тормозят появление Личных задач. Хотя даже несмотря на это мы в последнее время уже пару раз их обсуждали и актуализировали проблемы и варианты решения, потому что потребность в ЛЗ никуда не делась.

        Пишу обо всем этом подробно, чтобы дать хоть какую-то картинку того, что находится в «черном ящике» системы принятия решений об очередности доработок ПФ. Лень раработчиков и нежелание делать то, что нужно людям, это точно не про нас)

    2. Аватар

      Дмитрий, добрый!
      Эта тема про задержку отправки коммента муссируется на форуме года так с 2017 ))
      https://forum.planfix.ru/viewtopic.php?f=48&t=3964&p=21082

      Разве там серверные мощности нужно дополнительно задействовать? Насколько я понимаю, это реализуется именно на тонком клиенте (браузере) по js-таймеру, например (собственно, другого варика и нет).
      1. Коммент отправлен (на самом деле, никакой запрос никуда еще не ушел из брузера), повисла кнопка/ссылка «Отменить отправку» и обратный отсчет.
      2. Оператор ЭВМ нажал «Отменить отправку» и фсё. Никакие сервера и очереди не подключались.

        1. Аватар

          В разрезе Планфикс — да, без серверной части Планфикс не обойтись (или сидеть и не выключать клиентскую … тот же браузер).

          Но тут есть три момента:
          — если рассматривать только почтовые отправления, то можно использовать возможности почтового сервера (но не совсем «правильно», кроме почты есть куча направлений …)
          — можно переложить на клиентскую часть, например на мобильное приложение (оно ведь «никогда не спит», в отличии от браузера). То есть комментарий отображается отложенным, а подтолкнуть его в назначенное время может любой браузер под любым пользователем, который имеет доступ к этой задаче или мобильное приложение у пользователя, имеющего доступ к задаче с отложенной отправкой (так например работает тот же WordPress,когда нет доступа к cron (режим по умолчанию)
          — реализация отложенных уведомлений на уровне сервера силами Планфикс, несёт на сервера гораздо меньшую нагрузку, чем аналогичный сценарий созданный пользователем, то есть вообще непонятного почему не реализовано (к дополнению к комментарию Артема)

          1. Дмитрий Гончаренко

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

            По поводу того, что производит большую нагрузку: если рассматривать в лоб, то сценарий создает плюс-минус такую же нагрузку, как нативное отложенное уведомление. Но в совокупности нативные будут создавать бОльшую нагрузку за счет того, что их будут больше добавлять, т.к. они намного доступнее.

            1. Аватар

              По опыту — больше не добавляют. И вообще забывают, что такая функция есть.

              А вот запросы «как отменить письмо, я его отправила а потом перечитала» — относительно частые (очень относительно, тоже редкие), из-за чего приходится в некоторых организациях делать отложенную отправку всех писем по всем (и тогда в течении, например 10 минут, можно «отменить» письмо)

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

              Все это легко реализуется на любом корпоративном почтовом сервере (по сути их только «два»: Lotus Domino и Exchange,первый в России редкость, второй — повсеместен)

              Что касается нагрузки. То с точки зрения реализации это ничем не отличается от напоминаний. Просто еще один тип невидимого напоминания (который меняет статус комментария и реально его отправляет …). Сама отправка комментария — те же ресурсы сервера. Реализация — явно «проще» на уровне сервера и ближе к «ядру» — то есть занимать серверного времени и мощностей будет меньше (намного ли меньше — тут вам виднее, возможно не намного).

              Более того, никто не мешает совместить отправку уровня клиента и уровня сервера (сервер подключается тогда, когда клиент не отработал). Это правда требует транзакционности (но тут уже ваша внутренняя кухня … стоит ли овчинка выделки). И не только в отложенных комментариях.

              1. Дмитрий Гончаренко

                Есть ощущение, что мы говорим о разном. Я в своих комментариях говорю исключительно о кейсе «Отправка уведомлений утром / в назначенное время нужного дня» и не касаюсь кейса «Отправлять сообщения с автозадержкой в ХХ секунд/минут». Это разные кейсы и технологические решения для них тоже могут быть разными.

                Это я не только о последних комментариях Андрея, а о предыдущем комментарии Дениса тоже.

  4. Аватар

    Мда, тяжелый случай …
    Сценариями (и гораздо более сложными, на самом деле) это реализуется.
    Но к «отложенной» отправке не имеет абсолютно никакого отношения.
    Совсем. Это просто сценарий, нагружающий ваши сервера, и да, вид сбоку это «отложенная отправка» … но что делать если отправить нужно прямо сейчас? А как все письма наружу делать отложенными ??????

    Отложенная отправка прекрасно реализована в Exchange сервере (тот же Офис 365). И все что нужно для реализации, работа с почтой по протоколу MAPI (реализуется крайне просто на JS,так на внутренний портал вывести число непрочитанных писем — пара строчек на JavaScript …. которые абсолютно не нагружают сервер!!! (Клиент по факту напрямую запрашивает почтовый сервер).

    Перегруженный интерфейс? Вы о чем? Сделайте как в WEB Outlook.Кнопка «Отправить» со стрелочкой вниз. Простое нажатие — отправка с настройками по умолчанию (сразу или с определенной задержкой). На стрелочку вниз — выбираешь дату и время отправки. Письмо до отправки можно изменить или отменить отправку …

    И это функционал должен быть (имхо) всего Планфикс!!!! Да, если в уведомлении участвует почтовые адреса, возможно стрелочка должна появляться только для почтовых серверов, поддерживающих такую работу.
    И когда отправить «действие» сейчас или в конкретную дату должно быть и в сценариях …

    Не хотите использовать MAPI и чтобы оно работало с любой почтой — значит реализация на уровне Планфикс. Внутри это будет тот же сценарий, но отображение!!! Отображаться комментарий должен соответствующим образом (что он в процессе отправки и его еще можно изменить … и если комментарий позже отправлен сразу, они должны меняться местами, и видно должно быть сразу, а не поиском определенного поля …. и полей таких не заводить целую кучу, ведь отложенных действий/комментариев по одной задаче может быть множество!!!!)

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