Обзор
Ваше приложение может начать и продолжить разговоры во входящей рабочей области, где они также пообщаются с помощником Twenty. Сообщение может заканчиваться вопросом, формой или изменением для утверждения, кто из членов группы отвечает из чата, прежде чем разговор продолжится с ассистентом. Входящие помощники экспортируются изtwenty-sdk/logic-function и twenty-sdk/front-component, так что запланированный запуск и кнопка в вашем приложении будут размещены одинаково.
Отправка сообщения
sendInboxMessage() отправляет сообщение из вашего приложения в чаты одного или нескольких членов рабочей области и возвращает разговор в «threadId».
src/logic-functions/notify-first-recording.ts
workspaceMemberIdsперечисляет участников, которые получают разговор, по крайней мере один. Первый член нового разговора владеет им, а другие следуют за ним как участникам. Позднее послать под тем же ключом, в котором добавляются новые участники; участники оставляют разговор.threadKeyвыбирает разговор для этого приложения, который разделяет каждый участник, к которому он прислал. Новый ключ запускает разговор под названием «title»; ключ, который вы использовали перед добавлением сообщения в этот разговор.idempotencyKeyидентифицирует сообщение в разговоре. Отправка одних и тех же ключей ничего не записывает новых, поэтому повтор и одновременный запуск никогда не дублирует сообщение.textявляется markdown, и может нести упоминания и ссылки на запись.toolCall(опционально) заканчивает сообщение одним из:- звоните в члены ответы, которые приостанавливают разговор:
ask_question(один вопрос multiple-choice),request_form(поля для заполнения) илиpropose_tool_call(звонок для утверждения). ЕгоinputпринимаетtoolName,arguments, который вы бы назовете инструмент с одним предложениемsummary. Инструмент должен быть одной из ролей вашего приложения по умолчанию может запускаться сама, например,create_one_personилиupdate_one_opportunity(с записьюid); email (send_emailилиdraft_email, сrecipients,subjectиbodyв HTML) не требует разрешения вашего приложения. Член проверяет звонок по той же карточке, что и звонок по предложениям ассистента, редактирует его, если они хотят, и утвержденный звонок запускается с их собственным доступом; - один из собственных инструментов вашего приложения с помощью
logicFunctionUniversalIdentifierвизуализируется его фронтальным компонентом с проходящимиinputиoutput. Он не приостанавливает разговор.
- звоните в члены ответы, которые приостанавливают разговор:
- Только один вызов ответы члена могут подождать в разговоре одновременно: отправка еще одного вызова не удалась с помощью
THREAD_AWAITING_ANSWER. Обычные сообщения и вызовы инструментов приложения все еще принимаются. - Только участник, у которого есть беседа, может удалить ее, и удалённый разговор ушел для каждого участника: он не воссоздается, и к нему ничего не добавлено. Остальные участники могут отписаться от рассылки, чтобы доставить её из своего ящика.
- Каждый участник должен иметь разрешение «AI», и звонок не выполняется без написания сообщения, когда один из них не может иметь разговор. роль ваше приложение должно предоставить
SystemPermissionFlag.AI.
Кто отправляет сообщение
Сообщение всегда пишется вашим приложением, независимо от того, вызвал звонок. Сам вызов выполняется как API clients:- В логической функции он действует как человек, который вызвал запуск, или как ваше приложение, когда никто не сделал, например, в расписании cron.
- В передней части он выступает в качестве члена, глядя на страницу. По истечении срока действия токена звонок обновляет его один раз через Twenty и извлекает.
twenty-sdk/front-component. Отправка в почту показывает, как затем открыть разговор.
Упоминания и запись ссылок
В поле “Входящие” ссылки отображаются в “текст” как фишки. Напишите их с помощью этих помощников, а не вручную:src/logic-functions/flag-idle-deal.ts
inboxMention({ workspaceMemberId })записывает упоминание члена рабочей области, аinboxReferenceRecord({ objectNameSingular, recordId })чип, который ссылается на любую запись.- Оба читают метку, отображаемую микросхемой, как это делает композитор: полное имя пользователя, или их электронной почты, когда имя пустое и идентификатор ярлыка записи, например, название компании. Коробки становятся скобками и разрывы строк становятся пробелами, поэтому чип всегда отображается.
- Они читают с тем же доступом, что и остальная часть звонка, чтобы доступ был обеспечен для доступа к члену или записи. Запись содержит два запроса, один для поля с меткой объекта и один для записи.
- Упоминание только рендеров. Он не добавляет участника в разговор или не уведомляет их, поэтому перечислите всех, кто должен получить сообщение в разделе
workspaceMemberIds. INBOX_ASSISTANT_MENTION- это текст, в котором автор пишет, когда член упоминает помощника (@Ada), так что ваше имя сообщения совпадает.