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

Аватарка пользователя Рафаил Агазода

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

Из этого гайда вы узнаете, как создать 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 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Запрос базы данных 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 12

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

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

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

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

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

Создайте три новых запроса на основе базы данных 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 15

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

Собираем умную CRM на ChatGPT, PostgreSQL и ToolJet 16
			{{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 17

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

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

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

Убедитесь, что имена из фрагмента кода ниже соответствуют именам компонентов из модального окна. Скопируйте этот код в панель редактора 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 19

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

Нейронные сети
Искусственный интеллект
Pet-проекты
Приложение
3040