Set access from the work people do, not from a vague job title. For every support role, define which customer conversations it may see, what actions it may take, how long that access lasts, and what evidence should remain afterward. Keep a controlled exception path for handoffs. Otherwise the choice becomes unsafe access for everyone or a locked-down inbox that fails the moment a case becomes complicated.
Imagine a property management team. A general support agent handles maintenance updates. A leasing specialist sees applicant conversations. Finance deals with payment disputes. A manager coaches the team, and an administrator configures the workspace. Giving all five roles the same view is easy to set up, but it exposes more customer history than most of them need. Hiding every conversation except the one currently assigned also looks safe, yet it can prevent a useful handoff when the assigned person is absent.
The right model sits between those extremes. It follows duties, customer scope and real exceptions.
Begin with duties before roles
Start by listing the jobs that happen inside the inbox. Do not begin with the names already in the organization chart.
A support agent may need to read recent messages, view the minimum customer details required for the case, reply, add an internal note and change a case status. A supervisor may need to review a wider team queue and reassign work. A campaign manager may need audience and reporting access without permission to read every private service exchange. A workspace administrator may need to configure roles but have no routine reason to browse customer conversations.
This distinction matters because a role is only a convenient bundle of permissions. It is not the permission policy itself.
For each job, record five things:
- the actor, such as frontline agent, supervisor, billing specialist or administrator;
- the customer scope, such as assigned contacts, one team, one market or one workspace;
- the allowed actions, such as view, reply, assign, export or configure;
- the time boundary, including standing, shift-only or temporary access;
- the evidence, such as assignment history, approval, role change and expiry.
The NIST least-privilege requirement says access should be limited to what users or processes need for assigned tasks, reviewed at an organization-defined frequency, and removed or reassigned when it is no longer needed. The useful phrase is “assigned tasks.” The goal is not the smallest permission set imaginable. It is the smallest set that still lets the person complete the work safely.
Separate seeing from changing
Many permission plans treat conversation access as one switch. In practice, seeing a message and changing customer state are different powers.
Break the work into actions. Can the person view message content, view contact fields, reply, add a private note, change the owner, close a case, export data, edit consent, launch automation or change workspace settings? A support agent may need the first five but not the last four. A quality reviewer may need read access to a sample and permission to add a review note, but no ability to reply as the business.
This is also where separation of duties becomes practical rather than theoretical. NIST treats separation of duties as a way to reduce abuse of authorized privilege and recommends defining access around distinct roles. In a customer team, the person who approves a large audience, sends to that audience and changes the audit settings should not automatically be the same unchecked actor.
Current conversation platforms expose the same idea at different layers. Twilio documents roles at both service and conversation scope, with separate permissions for actions such as joining a conversation, adding participants and editing or deleting messages. The product details vary, but the design lesson travels well: scope and action should be separate decisions.
Scope access around the customer
After actions, decide which conversations each person can reach. “All support conversations” is rarely the only useful scope.
Common scopes include assigned conversations, unassigned work in a named queue, conversations owned by the person's team, selected channels, selected contacts, a market, a workspace or a temporary case list. Use the boundary that matches the operating responsibility. A regional agent may need every supported channel for customers in one market. A billing specialist may need only cases transferred to billing, regardless of channel. A supervisor may need the team queue and aggregate reporting without unrestricted access to unrelated teams.
Intercom's current conversation-access guide illustrates several practical patterns, including all conversations, assigned conversations, team conversations and exclusions for selected teams. It also separates aggregate report visibility from access to conversation content. That separation is useful when leaders need to understand workload without opening every transcript.
Do not scope only by channel if the customer regularly moves between channels. A WhatsApp case may continue on Instagram, or an enquiry may become a lead owned by another team. The access decision should follow the customer and the work state where possible, while keeping the original channel visible.
Keep handoffs possible without opening everything
Tight permissions often fail at the exception. The billing specialist is away. A complaint crosses two departments. A manager needs to review a disputed promise. An agent changes teams halfway through an active case.
Do not solve those moments with a permanent “see everything” role. Create a controlled access request that records the case or customer scope, reason, approver, start time and automatic expiry. When the handoff is routine, assignment to the receiving team can grant the necessary access and remove the previous team's access according to policy. When it is unusual, a time-limited exception is easier to inspect than an informal screenshot or shared login.
The customer should not suffer because the permission model is strict. Before removing access, confirm that the receiving owner can see the context required to continue, any private notes intended for that team, the current status and the next action. Preserve the ownership history so a later reviewer can understand who saw the case and why.
Review actual access instead of the old plan
A clean launch matrix goes stale quickly. People cover holidays, join projects, move departments and leave. Channels are added. Customer segments change. Temporary access quietly becomes permanent.
Review both the policy and its use. Ask which roles have broad access, which permissions were never used, which exceptions outlived their reason, whether departed members lost access, and whether administrators browse customer content during ordinary work. A permission that nobody needs should be removed. A permission used only during a rare escalation may belong behind approval rather than in a standing role.
Do not measure success only by the absence of access errors. Overly broad access produces fewer 403 responses because nothing is blocked. That does not make it a good design. Track expired exceptions, denied requests, reassignment failures, orphaned cases, access changes and the time needed to complete a legitimate handoff.
Test ordinary cases and awkward ones
Run an access drill before the team relies on the model. Use test records with no real sensitive content and confirm what each role can see and do.
Start with an ordinary assigned case. Then test an unassigned queue item, a transfer to another team, a supervisor review, an agent on leave, a customer who changes channel, a person who changes department and a temporary specialist whose access should expire. Try an export, a consent-field change and a workspace-setting change with roles that should not be allowed to perform them. Confirm that denials are visible and that the case does not disappear from every responsible queue.
In DripTell, the documented security controls combine owner, manager and agent roles with module-by-action permissions, workspace membership, and per-member channel or contact access. The team inbox keeps the owner, team, channel, status and customer context visible. Those controls are most useful after the business has defined the duties and exception path they are meant to enforce.
A good permission model makes normal work easy and unusual access obvious. If everyone can see everything, the model is unfinished. If nobody can complete a handoff, it is unfinished in a different way.
DripTell Editorial
Practical guidance reviewed by the DripTell product and customer workflow team.
See how DripTell checks product claims, uses primary sources and handles corrections.
Editorial and source policy



