Реклама
Перетяжка // Коробка 3.0

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet

CRM позволит добавлять новых пользователей в PostgreSQL, создавать шаблоны писем с ChatGPT и отправлять письма через Sendinblue.

Обложка: Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet

Из этого гайда вы узнаете, как создать CRM (Customer Relationship Management) с использованием ChatGPT, ToolJet и PostgreSQL.

CRM позволит вам добавлять новых пользователей или клиентов в базу данных PostgreSQL, просматривать их данные на панели инструментов, создавать шаблоны электронной почты с помощью ChatGPT и отправлять им электронные письма через Sendinblue.

В этом руководстве мы будем использовать ToolJet для интерфейса приложения.

Дисклеймер: это — перевод оригинальной статьи Building an intelligent CRM using ChatGPT, PostgreSQL, and ToolJet автора Shubhendra Singh Chauhan.

Что такое ToolJet

ToolJet — это low-code фреймворк и открытым исходным кодом, который позволяет нам создавать веб-приложения с полным стеком за несколько минут.

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

ToolJet позволяет создавать приложения, использующие реляционные и нереляционные базы данных, REST API, технологии OpenAI и облачные хранилища, такие как Google Cloud Storage, AWS S3 и Minio.

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

Настройка базы данных ElephantSQL (PostgreSQL)

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

Создайте учетную запись ElephantSQL здесь.

Добавьте новую базу данных. Информация о банковских картах или платежных реквизитах не требуется.

После создания БД отобразится вся информация о ней. Далее создадим интерфейс приложения и подключим базу данных.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_14

Создание приложения с помощью ToolJet

Если вы новичок в ToolJet, и никогда не регистрировались в сервисе, создайте учетную запись.

После этого создайте рабочую область и новое приложение под названием CRM-приложения.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_18

Создайте пользовательский интерфейс, подобный изображенному ниже.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_20

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

В контейнер добавьте три элемента-контейнера поменьше в верхней части страницы: для этого нажмите кнопку «Добавить интерфейс» и выберите элемент «Таблица».

В ToolJet можно создавать интерфейсы через перетаскивание элементов на рабочую область.

После создания пользовательского интерфейса добавьте в таблицу кнопку «Действие» с текстом «Отправить электронное письмо». Мы настроим кнопку позже, она будет отвечать за отправку электронных писем пользователям.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_25

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

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

Модальное окно «Добавить новый лид»

Чтобы отобразить модуль «Добавить новый лид», вам нужно создать окно модуля и добавить событие onClick к кнопке «Добавить лид».

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_30

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

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_32

Модальное окно «Отправить письмо»

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

Вы также сможете создавать содержимое электронной почты с помощью ChatGPT API. Вы узнаете, как это сделать, чуть позже.

В окне есть тумблер с событием onChange, которое скрывает подсказки от ChatGPT и кнопки с генерацией, когда они вам не нужны.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_37

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

Как взаимодействовать с базой данных PostgreSQL в ToolJet

ToolJet позволяет взаимодействовать с внешними ресурсами или создавать собственные функции через панель запросов. В ToolJet любая функция, которая взаимодействует с базой данных, API или облачным хранилищем и запускает код JavaScript или Python, называется запросом.

Здесь вы узнаете, как взаимодействовать с базой данных PostgreSQL в ToolJet. Во-первых, подключим базы данных PostgreSQL к ToolJet.

Подключение базы данных PostgreSQL к ToolJet

Выберите PostgreSQL из списка баз данных на панели «Глобальные источники данных» и предоставьте необходимую информацию.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_44

На изображении выше хост совпадает с именем сервера в ElephantSQL (за исключением скобок). Имя пользователя и имя базы совпадают. Пароль нужно просто вставить в нужное поле.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_46

Прокрутите страницу вниз и нажмите «Проверить подключение».

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_48

Если соединение проверено, мы можем делать запросы к БД.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_50

Запрос базы данных PostgreSQL в ToolJet

Прежде чем мы начнем, добавим некоторые данные в базу данных.

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

			CREATE TABLE Users (Name varchar(255), Email varchar(255), Phone varchar(255), Organisation varchar(255), Designation varchar(255), Status varchar(255));
INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES('Teja', 'teja@gmail.com', '+555-34569', 'ToolJet', 'Developer Advocate', 'Customer');
INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES('Badri', 'badri@gmail.com', '+555-59659', 'ToolJet', 'Engineering Manager', 'Prospect');
INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES('Jack', 'jack@gmail.com', '+555-44449', 'ToolJet', 'Software Engineer', 'Lead');
INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES('Nora', 'nora@gmail.com', '+555-46249', 'ToolJet', 'Product Manager', 'Customer');
INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES('Emily', 'emily@gmail.com', '+555-47893', 'ToolJet', 'Product Designer', 'Prospect');
INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES('Dave', 'dave@gmail.com', '+555-49313', 'ToolJet', 'Data analyst', 'Lead');
SELECT * FROM Users;
		

Вы можете просмотреть данные на ElephantSQL после их загрузки.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_56

Затем переименуйте запрос в getTableData и обновите редактор SQL, чтобы отобразить все содержимое таблицы. Сохраните запрос.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_58

Обновите компонент Table, чтобы отобразить данные, полученные из запроса getTableData.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_60

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

Создайте три новых запроса на основе базы данных PostgreSQL с именами getLeadsCount, getProspectsCount и getCustomersCount.

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

			SELECT COUNT(*)
FROM Users
WHERE Status IN ('Lead');
/*-- change 'Lead' for leads, 'Prospect' for prospects, 'Customer' for customers. ---*/
		
Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_65

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

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_67
			{{queries.getProspectsCount.data[0].count}}

//(Use {{queries.getLeadsCount.data[0].count}} for leads and {{queries.getCustomersCount.data[0].count}} for customers)
		

Наконец, включите переключатель «Выполнять этот запрос при загрузке приложения?» для getTableData и трех других запросов.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_70

Добавление новых пользователей в базу

Создайте новый запрос, связанный с PostgreSQL, который принимает значения из модуля и отправляет запрос SQL для добавления данных в БД.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_73

Убедитесь, что имена из фрагмента кода ниже соответствуют именам компонентов из модального окна. Скопируйте этот код в панель редактора SQL и сохраните запрос.

			INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES('{{components.name.value}}', '{{components.email.value}}', '{{components.phone.value}}', '{{components.organisation.value}}', '{{components.designation.value}}', '{{components.status.value}}');
		

Теперь добавьте событие onClick к кнопке «Добавить лид», чтобы запрос выполнялся при нажатии кнопки.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_77

Как общаться с ChatGPT в ToolJet

Здесь вы узнаете, как общаться с ChatGPT через OpenAI в ToolJet.

Настройка учетной записи OpenAI

Войдите или создайте учетную запись OpenAI здесь.

Нажмите «Personal» на панели навигации и выберите «View API keys» в строке меню, чтобы создать новый секретный ключ.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_83

Создайте новый ключ API и скопируйте его куда-нибудь. Мы используем его позже.

Взаимодействие с API OpenAI в ToolJet

На вкладке «Глобальные источники данных» на панели инструментов нажмите «Плагины» и выберите «OpenAI». Затем вставьте свой ключ API и идентификатор организации в поля ввода и проверьте соединение.

Теперь вы можете получить доступ к источнику данных OpenAI из панели запросов.

Если у вас нет идентификатора организации, используйте «Personal».

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_89

Выберите OpenAI на панели запросов и настройте его содержимое для составления электронного письма с использованием ChatGPT.

			Draft an email to {{components.recipient.value}} about {{components.chatgptprompt.value}}
		

Запускайте запрос, когда пользователь нажимает кнопку «Спросить» в модуле.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_93

Наконец, чтобы автоматически отображать адрес электронной почты пользователя в окне модуля, установите значение по умолчанию для ввода электронной почты получателя на {{components.table1.selectedRow.email}}. 

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_95

Как отправлять электронные письма через Sendinblue API в ToolJet

Sendinblue — это инструмент цифрового маркетинга, который предоставляет электронную почту, SMS, Facebook, чат и многое другое через одну платформу, чтобы помочь развитию бизнеса за счет укрепления отношений с клиентами.

Для начала, вам нужно войти в систему или создать учетную запись SendinBlue.

Выберите SMTP и API на панели инструментов, создайте ключ SMTP и скопируйте его куда-нибудь. Он понадобится нам в ближайшее время.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_100

Вернитесь в приложение ToolJet, добавьте новый источник данных SMTP и введите необходимые учетные данные. Ваш пароль — это сгенерированный ключ SMTP.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_102

При успешном подключении будет отображаться «Подключение подтверждено». Затем вы можете начать отправлять электронные письма.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_104

Затем создайте запрос для отправки писем. Укажите свой адрес электронной почты, имя, адрес электронной почты получателя, тему и компоненты заголовка.

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_106

Сохраните запрос и запустите его, когда нажата кнопка «Отправить письмо».

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet_108

Вот рабочая демонстрация приложения:

Заключение

ToolJet — отличный инструмент разработки с открытым исходным кодом, и его код легко доступен для изменения и улучшения.

У него большое сообщество разработчиков, которые постоянно поддерживают и улучшают ПО. Как пользователь, вы можете быть уверены, что получите максимальную производительность при использовании ToolJet.

Вы заинтересованы в сотрудничестве с ToolJet? Не стесняйтесь проверять репозиторий GitHub и вносите свой вклад в разработку.