Всем привет.
Хотелось бы поделиться своим небольшим практическим опытом использования приложения Conga Composer. Этот продукт позволяет создавать и работать с шаблонами документов (я работал с Email и Word (имеют более широкий набор возможностей по сравнению с Email) темплейтами, но есть и другие: такие, как PDF и PowerPoint).
Это могут быть как простые готовые документы, так и шаблоны, динамически подтягивающие информацию по конкретным записям в SF, по Репортам (если нужно вытянуть данные из связанных записей); они могут получать нужную информацию на основе динамических SOQL-запросов (здесь они зовутся Conga query).
Также, можно делать вложения (аттачменты) других файлов к этим документам и отправлять одному или нескольким получателям.
Отправка тоже бывает разная. Это может быть просто отправка соответствующего шаблона с нужными вложениями получателю или так называемый Cong Sign - когда адресат получает письмо с необходимостью подписать его (грубо говоря, дать добро) - в таком письме обычно есть кнопка для подтверждения.
Все вышеуказанные возможности можно реализовать двумя основными способами (лично я пользовался только ими):
- Посредством отправки Outbound Message со всеми необходимыми параметрами в теле. По сути, можно то же самое реализовать в коде - кому какой подход больше по душе: админский или девелоперский.
- С помощью кнопки на записи в SF (передавать все необходимые параметры в URL).
Первый вариант позволяет полностью автоматизировать процесс формирования и отправки письма, в то время, как второй позволяет открывать редактор, где можно сделать предпросмотр отправляемого письма и, при необходимости, отредактировать текст, получателей, вложения и т.д.:
Добавлю еще несколько слов про основные передаваемые параметры (на примере кнопки):
Id - идентификатор родительской (master) записи.
CongaEmailTemplateGroup - папка с используемыми Conga Email шаблонами.
EmailTemplateId - выбранный по умолчанию шаблон
ReportID - репорты, используемые в шаблоне. Здесь алиас используется для удобного доступа к репорту в шаблоне; здесь:
ReportID=[Solicitor]00O4J000009vAasUSF
позволяет в шаблоне, используя, например, следующий формат записи
{{TableStart:Solicitor}}{{Full_Name}}{{TableEnd:Solicitor}}
вытянуть все значения поля Full Name из указанного шаблона;
pv0, pv1 и т.д. - если репорты имеют фильтрацию выборки, то здесь можно указать их значения (pv0 - первый, pv1 - второй и т.д.):
pv0 - это Id master записи - в репорте он часто пустой, а определяется уже в самой кнопке.
AttachmentId - идентификаторы вложений к письму (можно получить через упомянуты выше Conga query).
EmailToId - запись контакта, на который отправляется письмо.
APDF, qmode - параметры, влияющие на внешний вид письма.
По сути, если в двух словах, то все. Conga имеет очень широкий функционал, про который можно долго и, скорее всего, нудно рассказывать. Я же хотел сделать небольшую обзорную статью его (ее?) возможностей. Если у кого-то возникнет желание нырнуть глубже, то есть достаточно сносная документация:
https://support.conga.com/content/composer/getting-started-with-composer
Спасибо за внимание.