Hi TeamViewer Community,
I’m working on a Windows desktop application (WPF) for customers and I’m trying to design a robust “Request help” button that behaves correctly in all TeamViewer installation scenarios.
Goal
One button: “Request help”
It should always do the right thing:
- If TeamViewer Host is installed and assigned to our tenant, support should connect via Host (unattended / managed device).
- If Host is not installed or not assigned to us, the user should be routed into a QuickSupport / request support session (service queue / ad-hoc support).
Observed behavior / problem
In practice, starting a QuickSupport-style flow becomes unreliable when Host is installed:
- On some machines, a “request support session” or QS launch works.
- On others (with Host installed), the OS / TeamViewer integration seems to prefer the installed Host or full client instead of QS.
- This makes the same button behave differently depending on the local installation mix (Host vs full client vs QS).
I can’t find clear documentation stating whether QS / request support is officially supported when Host is present, or if this behavior is expected.
What we can already detect locally (Windows)
Locally we can reliably:
- Detect TeamViewer Host product (via uninstall registry entries).
- Read the TeamViewer ID (ClientID) from the registry.
So we always know:
HasHostInstalled = true/falseTeamViewerId = <id or null>
Tenant ownership check
To verify whether a Host belongs to our tenant, we attempted to use the TeamViewer Management API.
- “Access token is of wrong type. You need a UserToken to call this function.”
- This suggests that OAuth with a UserToken (authorization_code flow) is required to query devices.
That is doable, but it significantly increases complexity, and it’s not clear whether there is a simpler or more intended way for this specific use case.
Questions
- Is there an officially supported way to trigger a “request support session” / service queue flow when TeamViewer Host is installed on the client machine?
- Or is the expectation that Host installations should always be handled via unattended access instead of QS?
- For verifying that a TeamViewer ID belongs to our tenant:
- Is OAuth UserToken truly the only supported method to query devices?
- Is there any recommended alternative (e.g. company-level or service-to-service approach)?
- From a best-practice perspective:
- Is the recommended architecture to let the client send the TeamViewer ID to a backend,
and let the backend decide Host vs QS based on tenant data?
Constraints
- Many different customer environments:
- Host installed & assigned
- Host installed but not assigned
- Full client only
- No TeamViewer installed
- We want one button, predictable behavior, and minimal user interaction.
Any guidance, documentation references, or confirmation of expected behavior would be greatly appreciated.
Thanks in advance.