> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SharePoint OAuth 2.0 connector profile – StackOne setup guide

> Set up the OAuth 2.0 connector profile for SharePoint in StackOne. One-time admin setup required before your users can link SharePoint accounts via Hub.

<Warning>You must have at least Application Developer permissions in your Azure account to register applications in Microsoft Entra ID. An administrator must also grant consent for the required API permissions.</Warning>

<section data-guide-section data-guide-scopes="">
  <h2>Register Your Application in Microsoft Entra ID</h2>

  <p>To connect SharePoint with StackOne, you need to register an application in Microsoft Entra ID to obtain OAuth 2.0 credentials.</p>

  <Steps>
    <Step title="Sign in to Microsoft Entra Admin Center">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to the <a href="https://entra.microsoft.com" target="_blank" rel="noopener noreferrer">Microsoft Entra admin center</a> as at least an Application Developer. If you have access to multiple tenants, use the <strong>Settings</strong> (gear) icon in the top-right corner to select the correct directory.</p>
      </div>
    </Step>

    <Step title="Create a New App Registration">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In the left sidebar, click <strong>Entra ID</strong>, then select <strong>App registrations</strong> and click <strong>New registration</strong>. If you do not see it, use the search bar at the top of the page to search for <strong>App registrations</strong>.</p>

        <ul>
          <li>Enter a meaningful <strong>Name</strong> for your app (e.g., StackOne SharePoint Integration).</li>
          <li>Under <strong>Supported account types</strong>, select the option that matches your organization (typically <strong>Accounts in this organizational directory only</strong> for single-tenant access).</li>
          <li>Leave the <strong>Redirect URI (optional)</strong> section blank for now.</li>
          <li>Click <strong>Register</strong>.</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/uIHx_QC2fViT21bw/connectors/sharepoint/images/oauth2-setup-register-app.png?fit=max&auto=format&n=uIHx_QC2fViT21bw&q=85&s=cf2a1d6afcf39951b069b24de874aa41" alt="Register an application form showing the Name field, Supported account types dropdown, and Register button" width="1280" height="577" data-path="connectors/sharepoint/images/oauth2-setup-register-app.png" />
      </div>
    </Step>

    <Step title="Copy the Application (Client) ID">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>After registration, you are directed to the application's <strong>Overview</strong> page. In the <strong>Essentials</strong> section, copy the <strong>Application (client) ID</strong> value. Enter this value in the <strong>Client ID</strong> field in the StackOne connection form.</p>

        <img src="https://mintcdn.com/stackone-60/uIHx_QC2fViT21bw/connectors/sharepoint/images/oauth2-setup-client-id.png?fit=max&auto=format&n=uIHx_QC2fViT21bw&q=85&s=26236db0c81f4094c5213a4075ff5a38" alt="App Overview page showing the Essentials section with the Application (client) ID field" width="1280" height="577" data-path="connectors/sharepoint/images/oauth2-setup-client-id.png" />
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Configure Redirect URI</h2>

  <p>Set up the OAuth 2.0 callback URL to enable the authentication flow between StackOne and SharePoint.</p>

  <Steps>
    <Step title="Navigate to Authentication Settings">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>From your app's left menu under <strong>Manage</strong>, select <strong>Authentication (Preview)</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/uIHx_QC2fViT21bw/connectors/sharepoint/images/oauth2-setup-authentication.png?fit=max&auto=format&n=uIHx_QC2fViT21bw&q=85&s=325276830377041651dfd15ad044020b" alt="Authentication (Preview) page showing the Redirect URI configuration tab and + Add Redirect URI button" width="1280" height="577" data-path="connectors/sharepoint/images/oauth2-setup-authentication.png" />
      </div>
    </Step>

    <Step title="Add a Redirect URI">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>On the <strong>Redirect URI configuration</strong> tab, click <strong>+ Add Redirect URI</strong>. On the <strong>Select a platform to add redirect URI</strong> panel that opens, select <strong>Web</strong> under <strong>Web applications</strong>.</p>
      </div>
    </Step>

    <Step title="Set the Redirect URI">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In the <strong>Redirect URI</strong> field that appears, enter the StackOne OAuth callback URL and click <strong>Configure</strong>.</p>

        <ul>
          <li>Redirect URI — `https://api.stackone.com/connect/oauth2/sharepoint/callback`</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/uIHx_QC2fViT21bw/connectors/sharepoint/images/oauth2-setup-add-redirect-uri.png?fit=max&auto=format&n=uIHx_QC2fViT21bw&q=85&s=58fb4d25d0cacfebc9ee12c52c4e3335" alt="Add Redirect URI panel for Web platform showing the Redirect URI input field and Configure button" width="1280" height="577" data-path="connectors/sharepoint/images/oauth2-setup-add-redirect-uri.png" />
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Configure API Permissions</h2>

  <p>Grant your application the Microsoft Graph API permissions required to access SharePoint data. API access is controlled by the permissions granted here — not by the scopes in the OAuth token.</p>

  <Steps>
    <Step title="Open API Permissions">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>From the left menu under <strong>Manage</strong>, select <strong>API permissions</strong>.</p>
      </div>
    </Step>

    <Step title="Add Microsoft Graph Permissions">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>+ Add a permission</strong>, then select <strong>Microsoft Graph</strong> from the <strong>Microsoft APIs</strong> tab.</p>

        <ul>
          <li>Select <strong>Delegated permissions</strong>.</li>
          <li>Search for <strong>Sites</strong> and expand the <strong>Sites</strong> group.</li>
          <li>For read-only access, check <strong>Sites.Read.All</strong> and <strong>Files.Read.All</strong>.</li>
          <li>For read-write access, also check <strong>Sites.ReadWrite.All</strong> and <strong>Files.ReadWrite.All</strong>.</li>
          <li>Click <strong>Add permissions</strong>.</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/uIHx_QC2fViT21bw/connectors/sharepoint/images/oauth2-setup-delegated-permissions.png?fit=max&auto=format&n=uIHx_QC2fViT21bw&q=85&s=710f2df11a42aefc55cb9accc8a47f53" alt="Sites permissions list showing Sites.Read.All and Sites.ReadWrite.All checkboxes" width="1280" height="577" data-path="connectors/sharepoint/images/oauth2-setup-delegated-permissions.png" />
      </div>
    </Step>

    <Step title="Grant Admin Consent">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>Grant admin consent for \[tenant name]</strong> and select <strong>Yes</strong> to consent on behalf of all users in your tenant. After granting, verify that the <strong>Status</strong> column shows consent granted for each permission. Without admin consent, API calls will return 403 Forbidden errors.</p>

        <img src="https://mintcdn.com/stackone-60/uIHx_QC2fViT21bw/connectors/sharepoint/images/oauth2-setup-api-permissions.png?fit=max&auto=format&n=uIHx_QC2fViT21bw&q=85&s=22eb41d363d2782acfec16af8d4b6ad9" alt="API permissions page showing the Grant admin consent for StackOne button and configured permissions table" width="1280" height="577" data-path="connectors/sharepoint/images/oauth2-setup-api-permissions.png" />
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Generate Client Secret</h2>

  <p>Create a client secret that StackOne uses to authenticate requests on behalf of your application.</p>

  <Steps>
    <Step title="Navigate to Certificates & Secrets">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>From the left menu under <strong>Manage</strong>, select <strong>Certificates & secrets</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/uIHx_QC2fViT21bw/connectors/sharepoint/images/oauth2-setup-client-secrets.png?fit=max&auto=format&n=uIHx_QC2fViT21bw&q=85&s=a2b680ea73fede3122b6dad8c6526cfa" alt="Certificates & secrets page with the Client secrets tab and + New client secret button" width="1280" height="577" data-path="connectors/sharepoint/images/oauth2-setup-client-secrets.png" />
      </div>
    </Step>

    <Step title="Create a New Client Secret">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Under the <strong>Client secrets</strong> tab, click <strong>+ New client secret</strong>.</p>

        <ul>
          <li>Enter a <strong>Description</strong> (e.g., StackOne Integration Secret).</li>
          <li>Select an <strong>Expires</strong> period from the dropdown.</li>
          <li>Click <strong>Add</strong>.</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/uIHx_QC2fViT21bw/connectors/sharepoint/images/oauth2-setup-add-secret.png?fit=max&auto=format&n=uIHx_QC2fViT21bw&q=85&s=70a4be996b0bb97fc62f3b695a202326" alt="Add a client secret dialog with Description field and Expires dropdown" width="1280" height="577" data-path="connectors/sharepoint/images/oauth2-setup-add-secret.png" />
      </div>
    </Step>

    <Step title="Copy the Client Secret Value">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Immediately copy the <strong>Value</strong> of the newly created client secret and enter it in the <strong>Client Secret</strong> field in the StackOne connection form. This value is only shown once and cannot be retrieved again.</p>
      </div>
    </Step>

    <Step title="Configure Scopes (Optional)">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>The <strong>Scopes</strong> field in the StackOne connection form is optional. If left blank, it defaults to `https://graph.microsoft.com/.default offline_access`, which requests every permission granted to the app registration. When supplying custom scopes, separate them with spaces and always include `offline_access` (required for refresh tokens) — for example `Sites.Read.All Files.Read.All offline_access` for read-only, or `Sites.ReadWrite.All Files.ReadWrite.All offline_access` for read-write.</p>
      </div>
    </Step>
  </Steps>
</section>

## Creating the StackOne Connector Profile

To create the Connector Profile in StackOne for <strong>SharePoint</strong>:

<Steps>
  <Step title="Navigate to Connector Profiles">
    Login to StackOne and navigate to [Connector Profiles](https://app.stackone.com/connector_profiles)
  </Step>

  <Step title="Create New Connector Profile">
    <ul>
      <li>Click <strong>+ Connector Profile</strong></li>
      <li>Search for and select <strong>SharePoint</strong></li>
      <li>Select <strong>Type</strong> as <strong>OAuth 2.0</strong></li>

      <li>
        Fill out the fields using details retrieved from your provider:

        <ul style={{ marginLeft: '20px' }}>
          <li><strong>Client ID</strong></li>
          <li><strong>Client Secret</strong></li>
          <li><strong>Scopes</strong> (Optional)</li>
        </ul>
      </li>

      <li>(Optional) Select <strong>Actions</strong> to be enabled for this Connector Profile</li>
      <li>Click <strong>Create profile</strong></li>
    </ul>
  </Step>
</Steps>

Congratulations! The new Connector Profile will now show up in your project ready to be used. You can now continue to <a href="/guides/accounts-section#linking-accounts">Link Accounts</a> for <strong>SharePoint</strong>.
