Request to register an Entra ID app (public client, delegated Graph) for a personal Teams automation

Alex Wang (Engrg-Hardware 5) 0 Reputation points
2026-11-05T02:47:08.5366667+00:00

Hi,

I'd like to register a single-tenant Entra ID application for a personal, single-user Teams automation (a self-chat assistant). I don't appear to have app-registration permission in the portal (I get a 401 / "You don't have access" on the New registration page), so I'm requesting help to either register it or grant me rights to.

Requested configuration:

  • Name: J-Bot Personal (or any approved name)
  • Supported account types: Accounts in this organizational directory only (single tenant)
  • Redirect URI: none (device-code flow)
  • Authentication → Allow public client flows: Yes
  • API permissions (Microsoft Graph, Delegated — NOT application):
    • User.Read
    • Chat.ReadWrite
  • No client secret / certificate needed (public client, device-code only)
  • Admin consent if your policy requires it for the above delegated scopes

What I need back: the Application (client) ID and Directory (tenant) ID (both UUIDs — not secrets). I will complete the interactive device-code sign-in myself with my own account; no password or token needs to be shared.

Scope note: Chat.ReadWrite grants delegated access to my own chats. The tool is further restricted at the application layer to my own self-chat only, with an explicit per-message trigger. Happy to walk through the controls if useful.

Thanks,

Alex

Microsoft Security | Microsoft Entra | Microsoft Entra ID
0 comments No comments

2 answers

Sort by: Most helpful
  1. Syed Masood Raza Kazmi 0 Reputation points
    2026-11-05T14:32:13.7666667+00:00

    What you’re asking for is a normal public-client app registration. Someone with permission to create app registrations (or an admin) needs to create it for you if users can’t register apps in that tenant.

    Suggested setup:

    1. Entra admin center → App registrations → New registration (single tenant is fine for an org automation).
    2. Under Authentication → Advanced settings, set Allow public client flows to Yes (needed for device code).
    3. API permissions → Microsoft Graph → Delegated: User.Read, Chat.ReadWrite (and offline_access if you need refresh tokens). Grant admin consent if your tenant’s consent policy requires it for those Graph permissions.
    4. No client secret for a public client. Use the device code flow from your script or tool against https://login.microsoftonline.com/{tenant}/oauth2/v2.0/devicecode, then poll the token endpoint.
    5. Least privilege: prefer Application Developer (or a custom role that can create apps) over broader directory roles if a non-admin must own the registration long term.

    Chat.ReadWrite is delegated, so the signed-in user can only touch chats they’re allowed to access. It isn’t a blanket tenant-wide chat permission.

    Learn: Register an application in Microsoft Entra ID, OAuth 2.0 device authorization grant

    Was this answer helpful?

    0 comments No comments

  2. AI answer

    2026-11-05T02:48:02.72+00:00

    A tenant administrator should either create this registration on your behalf or assign you the Application Developer role—the least-privileged built-in role that can create app registrations when ordinary user registration is disabled.^1^

    Administrator actions

    Option 1: Grant limited registration rights

    Assign Application Developer to your account. This role permits you to:

    • Create app registrations independently of the tenant’s Users can register applications setting.
    • Become owner of registrations you create.
    • Update applications that you own.^1^

    This is narrower than Application Administrator, Cloud Application Administrator, or Global Administrator.

    After assignment, create the app:

    1. Open Microsoft Entra admin center → Entra ID → App registrations → New registration.
    2. Enter J-Bot Personal.
    3. Select Accounts in this organizational directory only.
    4. Select Register.^2^
    5. Copy Application (client) ID and Directory (tenant) ID from Overview.

    Option 2: Have an administrator create it

    The administrator should:

    1. Go to Entra ID → App registrations → New registration.
    2. Set:
      • Name: J-Bot Personal
      • Supported account types: Accounts in this organizational directory only
      • Redirect URI: leave empty
    3. Select Register.
    4. If you need to manage it later, add your account under Manage → Owners.
    5. Return the Application (client) ID and Directory (tenant) ID. These identifiers are not credentials or secrets.

    An application object cannot later be moved to another tenant, so it must be created in the tenant containing the Teams account that will use it.^3^

    Configure device-code authentication

    In the new registration:

    1. Open Manage → Authentication.
    2. Under Advanced settings, set Allow public client flows to Yes.
    3. Select Save.

    Microsoft’s desktop-app configuration specifically includes device-code flow under public-client configuration.^4^

    No redirect URI is required for OAuth 2.0 device-code flow.^5^ Do not create a client secret or certificate for this public-client scenario.

    Add Microsoft Graph delegated permissions

    Go to Manage → API permissions:

    1. Select Add a permission.
    2. Select Microsoft Graph.
    3. Select Delegated permissions, not Application permissions.
    4. Add:
      • User.Read
      • Chat.ReadWrite
    5. Confirm that no application permissions were added.

    The permission definitions are:

    • User.Read: signs in the user and reads the signed-in user’s profile.
    • Chat.ReadWrite: reads and writes one-to-one or group chat threads on behalf of the signed-in user.

    Both are listed as delegated permissions that do not inherently require admin consent.^6^ However, tenant consent policy can still prevent users from granting consent. In that case, an administrator must grant consent or process the request through the tenant’s admin-consent workflow.^7^

    The application’s self-chat and per-message checks are useful application controls, but they do not technically narrow the OAuth grant: delegated Chat.ReadWrite authorizes access to one-to-one and group chat threads on behalf of the signed-in user.^6^

    If access remains denied

    Have the administrator check:

    Microsoft Entra admin center → Identity → Users → User settings → App registrations

    If Users can register applications is disabled, access denial is expected unless the account has an appropriate Entra role.^8^ If assigning a role is not permitted by organizational policy, administrator-created registration is the appropriate path.


    References

    1. Microsoft Entra built-in roles
    2. Register an application in Microsoft Entra ID
    3. Register an application with the Microsoft identity platform
    4. Desktop app that calls web APIs: Code configuration
    5. Redirect URI (reply URL) outline and restrictions
    6. Microsoft Graph permissions reference
    7. Configure how users consent to applications (portal)
    8. App registration permission denied - Microsoft Q&A
    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.