Getting Started with DeskDirector
DeskDirector Portals
Browser Support
What is the DeskDirector Admin Portal?
What is the DeskDirector Tech Portal
What is the DeskDirector Client Portal?
Desktop Portal
Managing Your Account
Admin Essentials
DeskDirector Features Overview
Logging in to DeskDirector
User Profiles & Profile Pictures
Managing Tickets with DeskDirector
Office Hours
Getting Started with the Solution Library
How Searching Works
Embedding Help Page Media
Get started with the DeskDirector Power Automate Connector
Features
Portal Customization
Forms
Service Catalogue
Communication
Email Connectors
Notifications
Email Notifications
Actionable Messages for Emails
Real-Time Chats
Email Template Engine
Surveys
Broadcasts
Generative AI
DeskDirector with Generative AI
Ticket Summary for TECH Portal
Setting up AI Service Providers
Microsoft Foundry for DeskDirector
Knowledge Bases for AI Assistants
Custom Tools for AI Assistants
AI Assistants in DeskDirector
Advanced
Login & Authentication
Contact Groups
Custom Domains
File Storage
Dashboard
Accounts
Contacts
Approvals
Tags
Task Lists
The Learning Center
Portal Deep Linking
Auditing & Analytics
Microsoft Power Automate
Actions
Solutions
Featured Solution: Teams Ticket Discussion
Power Automate Template Gallery
Featured Solution: Ticket Briefing
Power Automate Administration
DeskDirector Power Platform Connector Reference
Power Automate Connector - Setting up your first flow
Microsoft Teams App
Introducing the DeskDirector for Microsoft Team App
Installing the Microsoft Teams App (Client Mode)
Installing the Microsoft Teams App (TECH Mode)
Setting up Tags for Teams Discussions (TECH Portal)
Branding the DeskDirector Teams App
DeskDirector Teams App Notifications
Contact Groups Integration with Microsoft Teams
Setting up Content Security Policy (CSP)
Advanced topic: Setting up Tech & Client Mode in the same tenancy
Integrating Microsoft Teams with DeskDirector Tech Portal
Smart Alerts for TECH Users
Integrations
Developer Resources
Getting Started
What is the Toki Iti API
API Versions & Routes
Roles & Scopes
Authorization Options
Querying the API
How to Change an Entity Through the API
API Key Authorization
OAuth Fundamentals
Understanding OAuth for Tokity Integrations: Key Concepts
OAuth Authorization Code Flow: How an App Gets Access to Tokity
OAuth App Registration
How to Register an OAuth App to Integrate with Tokity
Choosing an OAuth App Type: Confidential vs. Public Apps and Client Secrets
OAuth Personal Secrets: What They Are and When to Use Them
OAuth Administration
Configuring OAuth Settings in Tokity
Managing OAuth Authorized Sessions and User Consent
Granting OAuth Admin Consent at the Root Level
API Response Control
Uploading Attachments (Ticket API)
The Prefer Header — Overview
Controlling Returned Data (Ticket API)
Controlling Returned Data (Form Result API)
Controlling Returned Data (Workspace API)
Workspace Ordering
How Workspace Ordering Works
Creating and Reordering Workspace Groups
Adding and Reordering Tickets in a Workspace Group
Data Sync & Notifications
Delta API: Tracking Changes Over Time
Webhooks vs. Events — Differences, When to Use Which
Verifying Webhook and Event Payloads (HMAC Signature)
Ticket Widgets
Ticket Widget: Overview
How the Widget Is Requested
Ticket Widget Anatomy and Styling
Ticket Widget Actions: Leading, Secondary and Primary
Ticket Widget: Progress Type
Ticket Widget: List Type
Ticket Widget: Description Type
Ticket Widget: Form Type
Ticket Widget: Control When a Widget Refreshes
Ticket Widget: Form Results and State Across Steps
Ticket Widget: Error Responses and Debugging
Ticket Widget: Building a Multi-Step Request
Glossary
Security
Troubleshooting
Troubleshooting via Web Developer Tools
Permissions & Access - Common Issues
Contact DeskDirector Support
Troubleshooting DeskDirector Connection Issues
Desktop Portal - Common Issues
Contact Impersonation
Approvals - Common Issues
Microsoft Teams App - Common Issues
Email & Email Delivery - Common Issues
Login & Authentication - Common Issues
DeskDirector Desktop App - Installation Issues
- All Categories
- Developer Resources
- OAuth Administration
- Managing OAuth Authorized Sessions and User Consent
Managing OAuth Authorized Sessions and User Consent
Updated
by Helpdocs Admin
Once consent has been granted and OAuth is in active use, you'll need visibility into what's connected and the ability to step in when access needs to change. This article covers where authorized sessions and consent grants can be viewed and managed, and what actions are available at each level.
Authorized sessions
Master admins get the most powerful view: a tenant-wide list of authorized sessions, with filtering and faceting — by target type (system-wide, agent, contact) or by application. Selecting a filter drills the facets down further — for example, filtering by "agent" then facets the remaining results by individual agent. This makes it much easier to understand usage patterns as more people begin authorizing apps, without having to hunt through data manually.
Sessions can also be reached from a more targeted starting point: navigating to a specific agent or contact record also surfaces their authorized sessions there. This gives an admin or master admin a fast way to check "what does this specific person have connected" without needing to learn the filtering UI at the tenant-wide view — useful when you already know who you're investigating and just need a quick answer.
Revoking a session: If a session has an active refresh token, an admin or master admin can revoke it directly. A user can also revoke their own sessions, from their own Connected Apps page (see Personal Secrets Explained for how to get there).
Consent grants
Consent grants can be viewed and managed from more places than sessions: the client portal settings page, the TECH portal settings page, or an individual account's settings page — as well as at the individual agent or contact level, same as sessions.
Revoking a consent grant removes it entirely. Any agent or contact — as well as an admin or master admin — can revoke their own consent grant (or, for an admin, someone else's) at any time. This has little to no security downside, since it's simply withdrawing access; if the person still needs it, they'd just need to grant consent again.
Reducing a consent grant removes specific scopes from it, rather than the whole grant:
- Reducing a personal grant affects that individual only. Any session relying on the removed scope will fail the next time it tries to renew or use it.
- Reducing a root-level grant affects every contact or agent under that root, for any of them whose individual grant didn't already cover the scope independently. If someone's personal grant separately covers a scope that was just removed at the root level, they're unaffected.
Removing a scope is a full removal, not a downgrade. For example, removing account:read_write doesn't fall back to account:read — it's simply gone. If read-only access is still wanted after removing a broader scope, it has to be granted again separately.
Like revoking, reducing a grant can be done by the person themselves, or by an admin/master admin on someone else's grant — both carry little to no security risk, since it only removes access, never adds it.
Granting consent
Ordinary consent — a user approving access for themselves — happens through the standard authorization endpoint, as covered in Code Authorization Flow.
Admins and master admins can also grant consent on someone's behalf, or at the root level (covering all contacts, all agents, or all contacts under a given account). This is done by:
- Selecting a target — root level, system-wide, or a specific user (if user, selecting exactly who).
- Selecting the application.
- Selecting which scopes to grant.
- Clicking Grant, which leads to an admin-grant confirmation page — functionally similar to the standard authorize page, and backed by the same security mechanism.
Once granted, an audit log entry records who granted it and which scopes were included.
Root-level consent is covered in more detail in Admin Consent at Root Level — in short, it's a way for an admin or master admin to grant consent on behalf of all contacts or agents at once, rather than one at a time. A common case: if an individual's personal consent has been revoked but the organization still wants everyone to be able to use a given tool — for example, an MCP connector used to access an AI model — granting the required scopes at the root level covers everyone at once, instead of asking each person to grant it individually.
What's next
See Admin Consent at Root Level for how root-level grants interact with personal grants in more detail.