Beam Help
Get help now

How-to · Zoho DESK

How to get your profile details in Zoho Desk

Retrieve your own user profile information and settings.

Retrieving your profile details in Zoho Desk is straightforward using the dedicated profiles endpoint, which returns information about the currently authenticated agent. Here's what you need to know to call it correctly and interpret the response.


Why this matters


When building integrations or automations on top of Zoho Desk, you often need to identify the currently logged-in agent — for example, to pre-fill assignment fields, audit actions, or personalise a support dashboard. Knowing which API endpoint to call and which OAuth scopes to enable saves significant debugging time. As independent expert support for Zoho (not official Zoho support), Beam Help walks you through the exact steps below.


---


Step-by-step


Step 1. Ensure your OAuth connection has the correct scopes configured before making any API call. At minimum, your Zoho Desk integration requires Desk.basic.READ to read agent and organisation-level data. [4]


Step 2. Authenticate your API client using a valid access token. If your token has expired, the client must use a refresh token to obtain a new access token before proceeding. The refresh flow exchanges the stored refresh token for a fresh access_token and updates the expiry timestamp accordingly. [2]


Step 3. Make sure your Desk API client has a valid org_id set. Zoho Desk scopes all API calls to a specific organisation. If the org ID is not yet stored, the client can auto-discover it by first calling the organisations list endpoint and persisting the first returned organisation's id for future requests. [^2, ^6]


Step 4. Call the profile details endpoint:


GET /api/v1/profiles/mine

This operation, identified as getmyprofile_details, accepts an optional query-parameter dictionary (p) and returns the profile record for the currently authenticated agent. [7]


Step 5. Parse the response and display the key fields. A clean output format for profile data would present fields such as name, email, and status on separate lines, skipping any empty values or internal IDs. [5]


Step 6. If you need to cross-reference the authenticated user's Zoho account details (such as their ZUID, email address, or organisation name), you can supplement the Desk profile call with a request to the Zoho Accounts user-info endpoint:


GET https://accounts.zoho.<DC>/oauth/user/info

Pass the Authorization: Bearer &lt;accesstoken&gt; header. The response may include fields like ZUID, Email, orgid, organizationid, ZGID, companyname, and organization_name — note that exact field names can vary depending on your data centre region. [3]


---


Common pitfalls


  • Missing org ID: If deskorgid is blank when the API client is initialised, calls to /api/v1/profiles/mine may fail or return unexpected results. Always confirm the org ID is resolved before making profile requests. [^2, ^6]
  • Insufficient scopes: Omitting Desk.basic.READ from your OAuth scope list will prevent the profiles endpoint from returning data. Double-check that this scope is included alongside any ticket or contact scopes you have configured. [4]
  • Data-centre mismatch: The ZOHO_DC value used in your OAuth configuration must match the data centre where your Zoho account is hosted (e.g., com, eu, in, com.au). A mismatch causes token refresh and user-info calls to fail silently. [3]
  • Field name variance: When reading user info from the Zoho Accounts endpoint, do not assume a single field name for org ID or org name — the response schema differs across data centres, so your code should check multiple possible keys before falling back to a default. [3]

---


What to check


  • Scope list: Confirm that Desk.basic.READ (and ideally Desk.basic.CREATE) appear in your configured OAuth scopes before initiating the auth flow. [4]
  • Org ID resolution: After authenticating, verify that a non-empty deskorgid is stored in your connection record; if it is missing, trigger the auto-discovery flow against the organisations list endpoint. [^2, ^6]
  • Token validity: Before calling /api/v1/profiles/mine, check that the stored accesstoken has not passed its tokenexpires_at timestamp, and refresh it proactively if needed. [2]

Sources cited

  1. [1] server.py: build_zoho_links
  2. [2] server.py: get_zoho_api
  3. [3] zoho_oauth.py
  4. [4] config.py
  5. [5] planner.py
  6. [6] GET /api/v1/profiles/mine
  7. [7] server.py: chat_plan_stream
Get My Profile Details | Beam Help — Beam Help