💬 Conversations
Assign conversations to a user or a team of your account, and add internal notes to them, the same way your team does from the live chat. Anything you change through the API shows up there right away: the assigned user or team sees the conversation in their inbox, and the users you mention in a note get notified.
A conversation can have a user, a team, or both at the same time: assigning a user keeps the team that was already there, so the rest of the team keeps access to it.
These endpoints work the same for WhatsApp Web numbers and WhatsApp Business API (WABA) numbers.
Conversations are identified by their session_key
The API identifies each conversation by its session_key (e.g. WA-WAN8fd3442f-e111-4fed-9323-1824fd7546c9-14085550176). You can get it from:
- Every webhook payload: WhatsApp Web and WABA events include
session_key. - The conversation lists: List WhatsApp Web conversations and List WABA conversations.
Getting user and team UUIDs
- Users: List Account Users. Only active users can be assigned. See permissions.
- Teams: List Account Teams.
Permissions
Requests run as the user who owns the API key. Admins can change the assignment of any conversation of the account. Any other user can only change conversations they can open in the live chat: those of a number shared with them, or those already assigned to them or to one of their teams.
Who can be assigned also follows the live chat:
- Admins can assign a conversation to any active user of the account.
- Any other user can only assign it to users who have access to the conversation's number.
Assigning a conversation to a user gives them access to that conversation, even if they can't see the rest of the conversations of its number.
The assignment object
The assignment endpoints return the conversation's assignment after the change:
{
"assigned_user": {
"uuid": "USR4f1c8a73-2e91-4d6b-9c44-1a72bfe0d521",
"first_name": "Ada",
"last_name": "Lovelace",
"email": "ada@example.com"
},
"assigned_team": {
"uuid": "VUGa71c3e09-8b52-4f0d-9d1e-5c6b2f8e4a10",
"name": "Sales"
}
}
| Field | Description |
|---|---|
assigned_user | The user the conversation is assigned to, or null |
assigned_user.uuid | The user's UUID |
assigned_user.first_name | The user's first name |
assigned_user.last_name | The user's last name |
assigned_user.email | The user's email address |
assigned_team | The team the conversation is assigned to, or null |
assigned_team.uuid | The team's UUID |
assigned_team.name | The team's name |
📄️ Get Conversation Assignment
Get the user and team a conversation is assigned to.
📄️ Assign to User
Assign a conversation to a user of your account.
📄️ Assign to Team
Assign a conversation to a team of your account.
📄️ Unassign Conversation
Remove the user, the team, or both from a conversation.
📄️ Create Note
Add an internal note to a conversation, with optional mentions of your team.