I discovered that segments might be the way to go. Assuming I have an attribute that defines the SLA (ie, billing plan name = premium), Intercom's company filters actually check all companies tied to the user. And if any one of the companies matches the filter, it will include that user in the segment.
I can then use the segment to create an inbox rule.
Is this the best way to address my issue or is there a better way to do this?
You're definitely on the right track with segments, that’s actually how I’ve handled similar cases. Intercom’s logic does look at all companies linked to a user when evaluating filters, so if even one of those companies has the SLA attribute (like billing plan = premium), the user will be included in the segment.
Then you can use that segment to trigger your inbox rules and route the conversation to a high-priority or VIP inbox.
One small tip: make sure your company data is syncing consistently (either via API or integration) so that the SLA attribute stays up-to-date. I’ve seen routing rules fail silently when the billing info was stale or not syncing properly. But beyond that, using segments based on company attributes is about as good as it gets with the current Intercom setup, it’s scalable and reliable.