Question
I want to restrict agents so that they can only see tickets within their own groups. Is this possible?
Answer
The most efficient way to prevent agents in one group from seeing another group's tickets is to create a private ticket group. When a group is private, only agents from that group can view tickets assigned to it.
If your pricing plan doesn't include private ticket groups, there are two alternatives:
One Zendesk account
The benefit of one Zendesk account is to keep all your agents in the same account, with a single subscription. Settings and admins are kept under one account as well.
However, this option is not completely secure and the separation can be circumvented. Each admin has access to data from all groups. Depending on your use case the flexibility afforded by these workarounds may be desirable: Can I use the same Support account for customer support and HR workflows?
To set up agent access restrictions, create different groups and make sure agents can only see the tickets assigned to their groups. For more information, see this article: Enabling agents to assign tickets to their groups.
Two Zendesk accounts
This is the most secure way to separate your agents and it is the preferred method when data privacy is the biggest concern. It does require purchasing two subscriptions and may be a heavier lift to set up initially but is the most flexible solution in the long term because workflows can be easily changed. You simply set up your two Zendesk accounts independently.
To share a ticket between two instances, set up a sharing agreement between both accounts. A sharing agreement grants another account permission to work on your tickets. Only shared tickets can be accessed by the other account. For more information, see the article: Sharing tickets with other Support accounts.