PAL/OPS

Desktop network workspace · active validation

Desktop release coming soon

DOC Microsoft 365 setup

Microsoft 365 Copilot setup.Entra ID and Microsoft Graph.

Prepare an organization-owned Entra public client, grant the delegated Microsoft Graph access Copilot Chat requires, and sign in from a supported Palshell installation.

MICROSOFT PREVIEW

Microsoft preview API guidance—not a production guarantee.

Microsoft’s Copilot Chat API currently uses Microsoft Graph /beta. Microsoft says preview APIs can change and are not supported for production use. A successful Palshell test confirms access only for the tenant, user, license, and policy in front of you.

Microsoft overview

01 Before you begin

Four things your organization needs first.

This path is for an existing Microsoft 365 organization. It does not create a tenant, license, or trial account.

01 / Tenant

A Microsoft work or school account

Use the Microsoft Entra tenant your organization already manages.

02 / License

A Microsoft 365 Copilot add-on license

The signed-in user needs an eligible Microsoft 365 Copilot license.

03 / Registration

Permission to register an Entra app

Microsoft’s quickstart uses at least the Application Developer role; tenant policy may be stricter.

04 / Consent

An administrator who can grant consent

The required delegated permissions need deliberate tenant review and approval.

02 Configuration

One tenant-owned registration. Six deliberate steps.

The IDs identify your app and directory; they are not credentials. Microsoft authentication remains delegated to the signed-in user.

  1. 01

    MICROSOFT ENTRA ID

    Register a single-tenant public app.

    1. Sign in to the Microsoft Entra admin center and switch to the directory that owns your Microsoft 365 environment.
    2. Open Entra ID → App registrations → New registration.
    3. Name the app Palshell Desktop, or follow your organization’s naming standard.
    4. Under Supported account types, choose the single-tenant option for your organization.
    5. Leave Redirect URI unselected, then select Register.
    COPY IN ENTRAApplication (client) ID

    Paste this into Palshell’s Application (client) ID field.

    COPY IN ENTRADirectory (tenant) ID

    Paste this into Palshell’s Tenant field.

    Use Entra’s copy controls for both real values. Do not copy Object ID—it identifies a different directory object.

  2. 02

    AUTHENTICATION

    Enable device-code sign-in.

    1. In the app registration, open Authentication.
    2. Under Advanced settings, set Allow public client flows to Yes.
    3. Select Save.
  3. 03

    MICROSOFT GRAPH

    Add all seven delegated permissions.

    1. Open API permissions → Add a permission → Microsoft Graph.
    2. Choose Delegated permissions, never Application permissions.
    3. Search for and add every permission below.
    Copy all seven permissionsSites.Read.All Mail.Read People.Read.All OnlineMeetingTranscript.Read.All Chat.Read ChannelMessage.Read.All ExternalItem.Read.All
    • Delegated permissionSites.Read.All
    • Delegated permissionMail.Read
    • Delegated permissionPeople.Read.All
    • Delegated permissionOnlineMeetingTranscript.Read.All
    • Delegated permissionChat.Read
    • Delegated permissionChannelMessage.Read.All
    • Delegated permissionExternalItem.Read.All

    A new app registration may also show the default User.Read permission. It is not one of the seven Copilot Chat permissions Palshell requests.

  4. 05

    PALSHELL SETTINGS

    Map the Entra values into the provider.

    1. Open Settings → AI Providers and select Microsoft 365 Copilot.
    2. Paste the Entra Application (client) ID into the field with the same name.
    3. Paste the Entra Directory (tenant) ID into Palshell’s Tenant field.
    4. Confirm the read-only Base URL below. Select Save, or continue to Sign in—Palshell saves the configuration before starting authentication.
    Read-only Base URL · global commercial cloudhttps://graph.microsoft.com/beta
  5. 06

    DEVICE LOGIN

    Sign in, then verify the exact tenant.

    1. Select Sign in in the Copilot provider card.
    2. Copy the one-time code Palshell displays and select Open Microsoft sign-in.
    3. At microsoft.com/devicelogin, enter that code and authenticate with the licensed work or school account.
    4. Return to Palshell. It continues automatically and shows Microsoft account connected when complete.
    5. Select Test connection. This contacts Microsoft Graph and creates an empty Copilot conversation to verify access; it does not send a Palshell transcript.

03 API cost

No per-token bill—but the Copilot license is paid.

Microsoft says this preview Chat API is available at no extra cost to users who already have a Microsoft 365 Copilot add-on license.

No extra Chat API charge with required license
Copilot Chat API usage
$0 extra

No separate per-token charge for this licensed API path.

Required access
Paid Microsoft 365 Copilot add-on

Every user calling the API needs an eligible licensed account.

Token calculation
Not applicable

Palshell does not meter this integration by input and output tokens.

“No extra cost” does not mean the Microsoft product is free. Your organization still pays for the qualifying Microsoft 365 Copilot license under its Microsoft agreement. Microsoft also offers separate pay-as-you-go Copilot products, but those are not the licensed Chat API path configured by this guide. Checked September 7, 2026.

Microsoft Copilot Chat API licensing
LOCAL CREDENTIAL BOUNDARY

The IDs are public metadata. The tokens are not.

Palshell stores the resulting access and refresh-token envelope in macOS Keychain or Windows Credential Manager, bound to the client ID and tenant. Tokens stay behind the native credential boundary and are never displayed in the Palshell interface.

04 Troubleshooting

Fix the boundary that failed.

Most setup failures come from tenant consent, licensing, account choice, or organization policy—not from the Base URL.

01Entra asks for administrator approval
Ask an authorized tenant administrator to review all seven delegated permissions and grant consent. Do not replace them with application permissions; the Copilot Chat API does not support application-only access.
02Test connection returns forbidden or access denied
Confirm that the signed-in user has a Microsoft 365 Copilot add-on license, all seven permissions are present, and Entra shows consent as granted. Then sign out in Palshell and sign in again.
03Sign-in is blocked by Conditional Access
Your organization may block device-code authentication. Ask the identity team to evaluate this app and flow. Do not broadly weaken Conditional Access to make the setup pass.
04The account connects to the wrong organization
Check the Tenant value in Palshell and sign in with the licensed work or school account from that directory. Changing the client ID or tenant requires a new sign-in.
05The device code is invalid or expired
Cancel and start Sign in again from Palshell. Use only the fresh code Palshell displays, immediately after you initiated the request.
06Palshell rejects the ID
Use Application (client) ID for the app and Directory (tenant) ID for the tenant. Object ID is a different value and will not configure the provider.

05 Official references

Validate the moving parts at Microsoft Learn.

Microsoft owns the Entra screens, permission contract, licensing rules, and preview API. These are the primary sources used for this guide.

Back / all AI modelsReturn to the complete AI model directory.