What is an agent?
An agent is a member of your support team who picks up conversations and resolves them. In message.com every human teammate is represented as one agent record, regardless of which channels they cover.
Definition
Agents are the workforce side of the two-sided marketplace inside a workspace. On one side a visitor opens a conversation. On the other side an agent claims it from the queue, replies, and marks it solved. Everything an agent does is auditable, scoped to a workspace, and tied to a single login.
Agents differ from visitors in three ways. They authenticate with a password rather than a browser cookie. They have a role that grants permissions. They appear in reports as the "assigned" party rather than the "contacting" party.
Roles
Every agent has a role field with one of three values:
| Role | Capabilities |
|---|---|
admin | Full workspace control. Manages billing, integrations, security, all departments, all conversations. |
supervisor | Manages assigned departments only. Sees team reports, force-transfers, edits agent assignments inside scope. |
agent | Answers conversations in assigned departments. Sees their own performance reports. Cannot edit team or billing. |
Channel scoping
Beyond role, each agent has a channels[] array that controls what shows up in their queue. Possible values: chats, tickets, calls. An agent with channels: ["chats", "tickets"] never sees phone calls in the inbox even if their role would otherwise permit it.
Admins implicitly have all channels. Channel scoping only narrows non-admin roles. This lets you hire a phone-only agent or a chat-only agent without giving them visibility into every channel.
Departments
Agents belong to one or more departments. Routing decisions filter conversations by department first, then by channel, then by availability. The Agents API exposes membership through departmentIds[].
Presence and availability
Agents have an availability status: available, away, or offline. Only available agents receive routed conversations. Status is exposed in real time via Socket.io on the agent namespace.
Authentication
Agents authenticate with email + password through POST /auth/login, receive a workspace JWT, and use it as a bearer token on every API call. See REST authentication for the full handshake.
What it is not
An agent is not a contact. A contact is a customer on the receiving end of the conversation. The same person can be both a contact in your workspace (if they email support) and an agent in someone else's workspace (if they answer support for their own company). The records do not stitch across workspaces.