Простой бот для связи с нами с использованием Dialogflow

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

Пример использования

Нам нужен был простой бот, который получал от посетителя следующие данные:

  1. Имя
  2. Рабочая электронная почта
  3. Команда для подключения - Продажи / Карьера / Архитекторы
  4. Сообщение

Dialogflow

Доступны две редакции Dialogflow - Dialogflow CX (расширенная) и Dialogflow ES (стандартная). Для простого варианта использования, подобного приведенному выше, достаточно и наиболее экономичной версии ES. Пожалуйста, обратитесь к приведенной ниже ссылке для получения более подробной информации о различиях между двумя выпусками, функциями, квотами и ограничениями.

Издания | Документация по Dialogflow | Google Cloud

Намерение Дизайн

Хотя может быть несколько способов разработки намерений, мы хотели создать дизайн, который избегал бы большого количества кода при выполнении. Мы хотели, чтобы это было очень просто, чтобы отделы продаж могли изменить поток или добавить сбор дополнительных сведений. Вот как выглядят наши намерения - getdetails & getdetails-purpose

Цель # 1: получить подробности

Команда Get Details соберет имя и рабочий адрес электронной почты посетителя и сохранит их в переменных. Поскольку мы используем системные сущности для имени и электронной почты, Dialogflow в определенной степени проверяет входные данные. Конечно, это всего лишь бот, большего ожидать не приходится.

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

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

{
   "richContent":[
      [
         {
            "options":[
               {
                  "text":"Sales"
               },
               {
                  "text":"Careers"
               },
               {
                  "text":"Architects"
               }
            ],
            "type":"chips"
         }
      ]
   ]
}

Намерение no2: цель getdetails

Теперь ожидаемым входом для запуска этого намерения будет ответ на этот вопрос из намерения №1 - которое будет одним из продаж / карьеры / архитекторов. Поэтому добавьте соответствующие данные для обучения, чтобы получить то же самое. Некоторые примеры обучающих фраз

  • «Я хочу поговорить с вашим отделом продаж»
  • «Не могли бы вы соединить меня с вашими архитекторами?»
  • «Карьера»
  • «Подключитесь к продажам»

Добавьте сюда выходной контекст, который мы использовали в getdetails намерении, как входной контекст. Добавьте дополнительные параметры, которые мы хотели бы собрать

Теперь на странице сведений о намерении в разделе «Выполнение» выберите параметр «Включить вызов веб-перехватчика для этого намерения».

Исполнение

Перейдите в раздел выполнения и включите «Встроенный редактор (на базе Google Cloud Functions)». Теперь вы можете добавить выполнение getdetails-purpose намерения отправить все данные в CRM. Вы также можете использовать любую службу электронной почты или SMTP, если хотите отправлять все данные на электронную почту своего отдела продаж. Облачные функции Fulfillment теперь использует Node.js 10 в качестве механизма выполнения. Если вы хотите использовать другие языки программирования, изучите вариант веб-перехватчика, доступный вместо встроенного редактора. Найдите ниже образец кода выполнения.

Примечание: вы можете использовать выполнение для заполнения слотов и объединить весь вариант использования в одно намерение, но, как я сказал ранее, мы хотели, чтобы наши отделы продаж изменили это самостоятельно, и для этого мы ограничили выполнение только для CRM. интеграция.

Интеграции

Мы использовали Dialogflow Messenger для интеграции с нашим веб-сайтом, но есть множество доступных опций -

Интеграции | Dialogflow ES | Google Cloud

Обратите внимание, что Dialogflow Messenger все еще находится в стадии бета-тестирования, но, насколько мы проверили, он работает нормально. Обратитесь к следующему руководству по интеграции мессенджера Dialogflow на свой сайт здесь - Мессенджер Dialogflow

Это будет дорого стоить?

Хммм, не совсем! В этом боте для связи с нами используются два основных компонента: Dialogflow и Cloud Functions. Давайте подробнее рассмотрим их модели ценообразования и определим приблизительную стоимость, которую мы ожидаем для нашего бота.

Текстовые взаимодействия Dialogflow

Пробная версия Dialogflow ES имеет бесплатный ввод на основе текста с квотой 180 запросов в минуту. Если вы не ожидаете более 180 взаимодействий в минуту, пробная версия работает нормально. Обратите внимание, что каждое сообщение боту рассматривается как запрос. Итак, в нашем потоке контактов, где пользователь вводит свое имя, адрес электронной почты, команду и сообщение - это 4 отдельных запроса.

Для получения дополнительной информации о ценах и квотах см. Здесь и здесь

Облачные функции

Следующим платным компонентом в этом случае являются базовые облачные функции, которые служат для выполнения, в нашем случае - объединяют все данные, вводимые пользователем, и отправляют их в CRM. Различные платные компоненты четко описаны в этой ссылке - Cloud Functions | Цены

  • Развертывание
  • Призывы
  • Вычислить время
  • Сети

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

Хорошо, похоже, что наш чат-бот на Dialogflow на самом деле может стоить меньше, чем другие готовые решения. Кроме того, он также предлагает лучший контроль и гибкость.

Вывод

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

Оставайтесь в безопасности! :)