Hi all,
I searched the forum but didn’t find an answer that fully covers this.
Current setup
We run a customer portal: the customer gets access to their Company Portal entity as a guest and sees all tickets of their company. This works well.
Because we book time on tickets but don’t want to show that to customers, we split tickets into two databases: an internal Ticket (internal communication, time booking) and a customer-facing Kundenticket, linked 1:1 through automations. That also works smoothly.
The problem
A second customer doesn’t want every user of their company to see every ticket. We need one of these:
- Each guest sees only their own tickets, or
- Individual tickets can be flagged as “sensitive” and are hidden from the portal.
What I tried
- Filtering by “Created by” doesn’t work: it is empty for tickets submitted by guests through the form, and for tickets created by automations (e.g. email-to-ticket).
- I added a People field (
Sichtbar für, relation tofibery/user, multiple) and enabled “Automatically share Kundentickets with Sichtbar für” (Viewer) in the access template, and also set it in Database access. I put the guest in the field, but the guest sees “Sorry, you don’t have access”. Sharing the same ticket manually with that guest works immediately. - I considered a custom app inside the portal. Since apps run with the viewer’s permissions, filtering there would only hide data, not protect it.
Questions
- Does automatic sharing via a People field work for guest users? If not, is there a recommended way to give each guest access only to their own entities?
- Can individual entities be excluded from access that is propagated through a relation (like a “sensitive” flag)? Or is the only option to drop the portal and share per person?
Thanks for any hints,
Sebastian