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

XakeR

Member
Регистрация
13.05.2006
Сообщения
1 912
Реакции
0
Баллы
16
Местоположение
Ukraine
Из этого гайда вы узнаете, как создать CRM (Customer Relationship Management) с использованием ChatGPT, ToolJet и PostgreSQL.

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

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

Редактор-модератор сообщества по теме Python / Data Science / AI Tproger, Удалённо, От 50 000 ₽ tproger.ru Вакансии на tproger.ru

Дисклеймер: это — перевод оригинальной статьи 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 и ToolJet0


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


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

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

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


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

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


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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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


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

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


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

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

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

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

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


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

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


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

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


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

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

Запрос базы данных 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’, ‘[email protected]’, ‘+555-34569’, ‘ToolJet’, ‘Developer Advocate’, ‘Customer’); INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES(‘Badri’, ‘[email protected]’, ‘+555-59659’, ‘ToolJet’, ‘Engineering Manager’, ‘Prospect’); INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES(‘Jack’, ‘[email protected]’, ‘+555-44449’, ‘ToolJet’, ‘Software Engineer’, ‘Lead’); INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES(‘Nora’, ‘[email protected]’, ‘+555-46249’, ‘ToolJet’, ‘Product Manager’, ‘Customer’); INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES(‘Emily’, ’[email protected]’, ‘+555-47893’, ‘ToolJet’, ‘Product Designer’, ‘Prospect’); INSERT INTO Users(name, email, phone, organisation, designation, status) VALUES(‘Dave’, ‘[email protected]’, ‘+555-49313’, ‘ToolJet’, ‘Data analyst’, ‘Lead’); SELECT * FROM Users;

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

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


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

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


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

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


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

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


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

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

{{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 и ToolJet16

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

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

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


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


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


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

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

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

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

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


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

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

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

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

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

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


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

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

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

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


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

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


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


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

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

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

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


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

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


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

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


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

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


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

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


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


Заключение​


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

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

Вы заинтересованы в сотрудничестве с ToolJet? Не стесняйтесь проверять репозиторий GitHub и вносите свой вклад в разработку.
 
198 175Темы
635 146Сообщения
3 618 414Пользователи
drakkon12345Новый пользователь
Верх