6.11.2.5 AgentConversation
6.11.2.5.1 Purpose¶
A thread between a user and an agent. It lives with the audience's data: in the cell for an Organization, with the staff's data in access for staff; an Organization's erasure removes its conversations.
6.11.2.5.2 Questions it answers¶
- Which conversations does this Organization or staff member have?
- Who opened a conversation, and is it archived?
6.11.2.5.3 Fields¶
| Field | Type | Cardinality | Description |
|---|---|---|---|
id |
string (uuid) |
1..1 |
Key. |
agent |
AgentDefinition | 1..1 |
|
organization |
Organization | 0..1 |
Set for an Organization agent; erased with the Organization (see ErasureRequest). |
owner_user |
User | 0..1 |
Who opened it, for an Organization agent. |
owner_moonitoring_user |
MoonitoringUser | 0..1 |
Who opened it, for a staff agent. Exactly one of the two owners is set, and it matches the agent's audience. |
title |
string |
0..1 |
|
archived_at |
datetime |
0..1 |
|
created_at |
datetime |
1..1 |
|
updated_at |
datetime |
1..1 |
6.11.2.5.4 Relationships¶
References
AgentConversation.agent→ AgentDefinition (1..1)AgentConversation.organization→ Organization (0..1)AgentConversation.owner_user→ User (0..1)AgentConversation.owner_moonitoring_user→ MoonitoringUser (0..1)
Referenced by
AgentMessage.conversation(1..1)
6.11.2.5.5 Rules & constraints¶
- A thread with an agent. Lives with the audience's data: in the cell for Organizations, with the staff's data in access for staff.