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

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

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

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

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



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

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

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



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



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

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

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

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



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

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

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

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



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



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

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

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

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



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

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

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

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

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

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



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



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



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



Запрос базы данных 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 после их загрузки.



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



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



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

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

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

    SELECT COUNT(*)
FROM Users
WHERE Status IN ('Lead');
/*-- change 'Lead' for leads, 'Prospect' for prospects, 'Customer' for customers. ---*/


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



    {{queries.getProspectsCount.data[0].count}}

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

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



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

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



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



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

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

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

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

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



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

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

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

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

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



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

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

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



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



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

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

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

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



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



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



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



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



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

https://tooljet-stny.onrender.com/applications/7a8867e3-3cea-49e3-89e7-8da39038b875

Заключение

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

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

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

Оцените статью
Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.