На выходных (ага! Мои выходные были насыщенными). Мой друг Кирилл обратился ко мне с проблемой. Он хотел автоматизировать рабочий процесс электронной почты для своей сети подкастов: The Gold Coast Report.

Рабочий процесс

Гость подкаста получает контрактное соглашение для прочтения. Отправка формы означает согласие с условиями договора. В форме указано Имя, Подкаст, на котором они являются гостем, и Адрес электронной почты. После отправки формы гость получит копию договора в формате PDF с записями формы, которые они отправили в свой почтовый ящик.

Мое быстрое решение было zapier, но была проблема. Платная стена! У Zapier есть 14-дневная пробная версия, и никто не готов платить доллары в этой экономике Ганы. Этот вариант был бы отличным. Все, что нам нужно было сделать, это интегрировать его в WP Forms на сайте подкаста. Поэтому я решил использовать Google Forms и App Script.

Скрипт приложения Google

Google Apps Script — это платформа для быстрой разработки приложений, которая позволяет быстро и легко создавать бизнес-приложения, интегрируемые с пакетом Google.

Процесс

Откройте формы Google и создайте следующие поля; Имя , Подкаст, Адрес электронной почтыиMATH Капча.

После создания формы в режиме редактирования перейдите на вкладку Ответы и нажмите Просмотреть в таблицах (подчеркнуто красным). Это предложит вам выбрать существующую электронную таблицу или создать новую. Лист будет собирать все материалы из формы.

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

Кодекс

Здесь мы вводим код для автоматизации. Я объясню код каждого блока для процесса автоматизации.

function onFormSubmit(e) {
  var form = FormApp.getActiveForm();
  var formResponses = form.getResponses();
  var formResponse = formResponses[formResponses.length-1];
  var itemResponses = formResponse.getItemResponses();
  
  
  var name = itemResponses[0].getResponse();
  var podcastName = itemResponses[1].getResponse();
  var emailAddress = itemResponses[2].getResponse();

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

  var doc = DocumentApp.openById("DocumentID");

При этом используется служба DocumentApp для открытия документа Google с ID документа. DocumentID можно найти в URL-адресе файла, когда он открывается на Google Диске. Это комбинация букв и цифр, которые появляются после «d/» в ссылке.

https://docs.google.com/spreadsheets/d/***ThisIsTheDocumentID***/edit#gid=123456789

var body = doc.getBody();
  body.replaceText("{{Name}}", name);
  body.replaceText("{{Podcast}}", podcastName);
  body.replaceText("{{EmailAddress}}", emailAddress);
  doc.saveAndClose();

Это заменяет заполнители- {{Name}} , {{Podcast}} и {{EmailAddress}}в документе с данными формы с помощью метода replaceText для замены заполнителей в теле документа на имя, название подкаста и адрес электронной почты из отправленной формы.

var subject = "Podcast Guest Agreement";
  var message = "Thank you for recording with us! Find attached the agreement form.";
  GmailApp.sendEmail(emailAddress, subject, message, {
    cc: "[email protected]",
    attachments: [doc.getAs(MimeType.PDF)]

При этом используется служба GmailApp для отправки электронного письма на указанный адрес электронной почты с прикрепленным обновленным документом в формате PDF. В письме есть тема Соглашение с гостем подкаста и сообщение Спасибо за запись с нами! Форма соглашения прилагается. Электронная почта также снабжена копией [email protected].

doc = DocumentApp.openById("DocumentID");
  
  var body = doc.getBody()
  body.replaceText(name, "{{Name}}");
  body.replaceText(podcastName, "{{Podcast}}");
  body.replaceText(emailAddress, "{{EmailAddress}}");
  doc.saveAndClose();
}

Это повторно открывает документ, заменяет фактические данные формы исходными заполнителями, сохраняет и закрывает документ.

Сохраните код и запустите его.

Примечание. Распространенной ошибкой являются проблемы с разрешениями. Изменение разрешений на редактирование документа формы, как правило, для всех, исправляет это.

Настройка триггеров

Триггеры позволяют выполнять подпрограмму программы. Это вызовет код, написанный при немедленной отправке формы.

Чтобы получить к нему доступ, нажмите Триггеры в левой части скрипта.

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

Вот и все!

Вы должны получить PDF-документ соглашения с данными вашей формы по электронной почте при заполнении и отправке формы.

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

Спасибо за чтение и кодирование!