수신함
사용자와의 대화가 머무는 곳: 한 탭에는 스레드, 다른 탭에는 캠페인. 모든 스레드는 누가 말했는지, 최종 사용자인지 상담원인지 모델인지 밝히며, 셋은 혼동되지 않습니다.


Conversations


A thread is a person's messages from the Messenger, answered from here. Every turn carries who wrote it: the end user, a named agent, or the model, and the attribution is a database rule rather than a convention, so an assistant turn can never wear a person's name. Threads are open, snoozed or resolved; replying reopens what needs reopening, snooze parks a thread until a date, assignment names whose it is, and new turns stream in live while the thread is on screen.
메시지가 쓰인 자리
그 사람이 보낸 메시지는 그것을 쓴 페이지를 함께 실어 옵니다. 본문 아래, 메시지의 시각과 같은 흐린 형태의 한 줄이 호스트와 경로 이름을 보여 주고, 페이지 제목은 그 줄의 툴팁에 들어가며, 줄을 누르면 그 페이지가 새 탭에서 열립니다. 이것을 가진 것은 들어온 메시지뿐입니다. 상담원과 모델은 둘 다 콘솔에서 답하므로, 어느 쪽에 페이지를 달아도 방문자가 아니라 콘솔을 가리키게 됩니다. 메신저가 페이지를 싣기 전에 보낸 메시지나, 아무것도 보내지 않는 화면에서 온 메시지에는 그저 줄이 없습니다. 보관되는 것은 경로 이름뿐이며 쿼리나 프래그먼트는 결코 아니므로, 재설정이나 결제 링크의 토큰이 받은편지함에 닿는 일은 없습니다.
Campaigns


A campaign is one message to many people: in-app, email or webhook, targeted at everyone, a cohort or named people. A sent campaign reports its deliveries by outcome, delivered, read, failed and pending, so a send that half-landed reads as exactly that rather than as done.
Proposals
The model's suggestions review where they point rather than on a tab of their own: a reply drafted for a thread waits in that conversation, a suggestion raised by an anomaly sits under that anomaly on Home, and one about a cohort sits on the cohort itself. Each proposal states its action in a sentence with its fields editable in place, plus its rationale; a person approves, adjusts or rejects it, and the decision is recorded with who made it. Nothing a proposal suggests happens without that approval.
Where this meets the API
The concept is the Messaging pillar. On the wire: threads are conversations and conversationThread, answered through replyToConversation, setConversationStatus and assignConversation, with live turns on the conversationTurns subscription; campaigns are messages and composeMessage; proposals are aiProposals with approveProposal, editProposal and rejectProposal (GraphQL reference). The user side of every thread is the Messenger, configured on its settings screen.