На выходных (ага! Мои выходные были насыщенными). Мой друг Кирилл обратился ко мне с проблемой. Он хотел автоматизировать рабочий процесс электронной почты для своей сети подкастов: 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-документ соглашения с данными вашей формы по электронной почте при заполнении и отправке формы.
Сценарий приложения, на мой взгляд, является очень мощной функцией, которую можно использовать для автоматизации ряда процессов, которые в противном случае пришлось бы платить за сторонние приложения.
Спасибо за чтение и кодирование!