> ## 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.

# Contentful OAuth 2.0 connector profile – StackOne setup guide

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

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;contentful_list_organizations&#x22;,&#x22;label&#x22;:&#x22;List Organizations&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_organization&#x22;,&#x22;label&#x22;:&#x22;Get Organization&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_update_organization&#x22;,&#x22;label&#x22;:&#x22;Update Organization&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_organization_memberships&#x22;,&#x22;label&#x22;:&#x22;List Organization Memberships&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_organization_membership&#x22;,&#x22;label&#x22;:&#x22;Get Organization Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_update_organization_membership&#x22;,&#x22;label&#x22;:&#x22;Update Organization Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_delete_organization_membership&#x22;,&#x22;label&#x22;:&#x22;Delete Organization Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_organization_periodic_usages&#x22;,&#x22;label&#x22;:&#x22;List Organization Periodic Usages&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_organization_available_licenses&#x22;,&#x22;label&#x22;:&#x22;List Organization Available Licenses&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_create_organization_invitation&#x22;,&#x22;label&#x22;:&#x22;Create Organization Invitation&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_organization_invitation&#x22;,&#x22;label&#x22;:&#x22;Get Organization Invitation&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_personal_access_tokens&#x22;,&#x22;label&#x22;:&#x22;List Personal Access Tokens&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_personal_access_token&#x22;,&#x22;label&#x22;:&#x22;Get Personal Access Token&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_create_personal_access_token&#x22;,&#x22;label&#x22;:&#x22;Create Personal Access Token&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_revoke_personal_access_token&#x22;,&#x22;label&#x22;:&#x22;Revoke Personal Access Token&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_admin_access_tokens&#x22;,&#x22;label&#x22;:&#x22;List Organization Access Tokens&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_roles&#x22;,&#x22;label&#x22;:&#x22;List Roles&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_role&#x22;,&#x22;label&#x22;:&#x22;Get Role&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_create_role&#x22;,&#x22;label&#x22;:&#x22;Create Role&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_update_role&#x22;,&#x22;label&#x22;:&#x22;Update Role&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_delete_role&#x22;,&#x22;label&#x22;:&#x22;Delete Role&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_space_memberships&#x22;,&#x22;label&#x22;:&#x22;List Space Memberships&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_space_membership&#x22;,&#x22;label&#x22;:&#x22;Get Space Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_create_space_membership&#x22;,&#x22;label&#x22;:&#x22;Create Space Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_update_space_membership&#x22;,&#x22;label&#x22;:&#x22;Update Space Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_delete_space_membership&#x22;,&#x22;label&#x22;:&#x22;Delete Space Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_space_members&#x22;,&#x22;label&#x22;:&#x22;List Space Members&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_space_member&#x22;,&#x22;label&#x22;:&#x22;Get Space Member&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_spaces&#x22;,&#x22;label&#x22;:&#x22;List Spaces&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_space&#x22;,&#x22;label&#x22;:&#x22;Get Space&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_create_space&#x22;,&#x22;label&#x22;:&#x22;Create Space&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_update_space&#x22;,&#x22;label&#x22;:&#x22;Update Space&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_delete_space&#x22;,&#x22;label&#x22;:&#x22;Delete Space&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_space_addons&#x22;,&#x22;label&#x22;:&#x22;Get Space Add-ons&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_update_space_addons&#x22;,&#x22;label&#x22;:&#x22;Update Space Add-ons&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_space_eligible_licenses&#x22;,&#x22;label&#x22;:&#x22;Get Space Eligible Licenses&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_space_periodic_usages&#x22;,&#x22;label&#x22;:&#x22;List Space Periodic Usages&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_teams_in_space&#x22;,&#x22;label&#x22;:&#x22;List Teams In Space&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_organization_teams&#x22;,&#x22;label&#x22;:&#x22;List Organization Teams&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_team&#x22;,&#x22;label&#x22;:&#x22;Get Team&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_create_team&#x22;,&#x22;label&#x22;:&#x22;Create Team&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_update_team&#x22;,&#x22;label&#x22;:&#x22;Update Team&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_delete_team&#x22;,&#x22;label&#x22;:&#x22;Delete Team&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_team_memberships_in_team&#x22;,&#x22;label&#x22;:&#x22;List Team Memberships In Team&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_organization_team_memberships&#x22;,&#x22;label&#x22;:&#x22;List Organization Team Memberships&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_team_membership&#x22;,&#x22;label&#x22;:&#x22;Get Team Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_create_team_membership&#x22;,&#x22;label&#x22;:&#x22;Create Team Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_delete_team_membership&#x22;,&#x22;label&#x22;:&#x22;Delete Team Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_team_space_memberships_in_space&#x22;,&#x22;label&#x22;:&#x22;List Team Space Memberships In Space&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_team_space_membership&#x22;,&#x22;label&#x22;:&#x22;Get Team Space Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_create_team_space_membership&#x22;,&#x22;label&#x22;:&#x22;Create Team Space Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_update_team_space_membership&#x22;,&#x22;label&#x22;:&#x22;Update Team Space Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_delete_team_space_membership&#x22;,&#x22;label&#x22;:&#x22;Delete Team Space Membership&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_manage&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_current_user&#x22;,&#x22;label&#x22;:&#x22;Get Current User&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_space_users&#x22;,&#x22;label&#x22;:&#x22;List Space Users&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_space_user&#x22;,&#x22;label&#x22;:&#x22;Get Space User&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_list_organization_users&#x22;,&#x22;label&#x22;:&#x22;List Organization Users&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]},{&#x22;id&#x22;:&#x22;contentful_get_organization_user&#x22;,&#x22;label&#x22;:&#x22;Get Organization User&#x22;,&#x22;scopes&#x22;:[&#x22;content_management_read&#x22;]}]" style={{ borderRadius: '8px', padding: '16px', marginBottom: '24px' }}>
    <div className="guides-scope-selector__title" style={{ fontSize: '16px', fontWeight: '600', marginBottom: '12px' }}>Select Actions to adjust the guide</div>
    <div className="guides-scope-selector__muted" style={{ fontSize: '13px', marginBottom: '12px' }}>Some actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.</div>

    <div style={{ display: 'flex', gap: '8px', marginBottom: '12px', flexWrap: 'wrap' }}>
      <input type="text" placeholder="Search actions..." className="guides-scope-selector__input" data-guide-action-search style={{ padding: '8px 12px', borderRadius: '6px', fontSize: '13px', flex: 1, minWidth: '160px' }} />

      <button type="button" className="guides-scope-selector__quick-btn" data-guide-select-all style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Select all</button>
      <button type="button" className="guides-scope-selector__quick-btn" data-guide-clear style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Clear</button>
    </div>

    <div className="guides-scope-selector__list" style={{ maxHeight: '240px', overflowY: 'auto', borderRadius: '6px', marginBottom: '12px' }}>
      <div className="guides-scope-selector__list-header" style={{ display: 'flex', alignItems: 'center', gap: '10px', padding: '8px 12px', fontSize: '12px', fontWeight: '600', position: 'sticky', top: 0, zIndex: 1 }}>
        <div style={{ width: '16px', flexShrink: 0 }} />

        <div style={{ flex: 1, textAlign: 'left' }}>Action</div>
        <div style={{ minWidth: '120px', marginLeft: 'auto', textAlign: 'right' }}>Scope(s)</div>
      </div>

      <div className="guides-scope-selector__muted" data-guide-loading style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>Loading actions...</div>
      <div className="guides-scope-selector__muted" data-guide-no-results hidden style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>No actions match your search.</div>
    </div>

    <div className="guides-scope-selector__url-section" style={{ marginTop: '12px', paddingTop: '12px' }}>
      <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Dynamic Guide URL</div>

      <div style={{ display: 'flex', alignItems: 'center', gap: '8px', flexWrap: 'wrap' }}>
        <input type="text" readOnly className="guides-scope-selector__input" data-guide-url style={{ flex: 1, minWidth: '200px', padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace' }} />

        <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-url style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap', marginLeft: 'auto' }}>Copy URL</button>
      </div>

      <div style={{ marginTop: '12px' }}>
        <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Scopes Selected</div>

        <div style={{ display: 'flex', alignItems: 'stretch', gap: '8px', flexWrap: 'wrap' }}>
          <pre className="guides-scope-selector__input" role="textbox" aria-readonly="true" tabIndex={0} data-guide-scopes-output style={{ flex: 1, minWidth: '200px', minHeight: '88px', maxHeight: '120px', overflowY: 'auto', margin: 0, padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace', whiteSpace: 'pre-wrap' }} />

          <div className="guides-scope-selector__muted" style={{ display: 'flex', flexDirection: 'column', gap: '8px', fontSize: '12px', fontWeight: '500', flexShrink: 0, alignItems: 'flex-start' }}>
            <div style={{ whiteSpace: 'nowrap' }}>Separator</div>

            <select className="guides-scope-selector__input" data-guide-scope-delimiter style={{ width: '100%', padding: '6px 10px', borderRadius: '6px', fontSize: '12px' }}>
              <option value="space">Space</option>
              <option value="comma">Comma</option>
              <option value="semicolon">Semicolon</option>
              <option value="pipe">Pipe</option>
              <option value="newline">Newline</option>
            </select>

            <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-scopes style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap' }}>Copy scopes</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</Panel>

<section data-guide-section data-guide-scopes="">
  <h2>Register an OAuth application in Contentful</h2>

  <p>Create an OAuth application in your Contentful account to obtain the Client ID and Client Secret needed for the connection.</p>

  <Steps>
    <Step title="Sign in to Contentful">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to your <a href="https://app.contentful.com" target="_blank" rel="noopener noreferrer">Contentful account</a>.</p>

        <ul>
          <li>Click your profile avatar in the top-right corner and select <strong>Account settings</strong>.</li>
        </ul>
      </div>
    </Step>

    <Step title="Open the OAuth applications page">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Navigate to the <strong>OAuth applications</strong> tab in Account settings.</p>

        <ul>
          <li>Click <strong>+ Create application</strong> in the top-right of the OAuth applications page.</li>
        </ul>
      </div>
    </Step>

    <Step title="Fill in the application details">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Provide the application name, description, redirect URI, and expiration date.</p>

        <ul>
          <li>Name: e.g., `StackOne`</li>
          <li>Description: Enter a description for the application, e.g., `StackOne integration` (required).</li>
          <li>Redirect URI: `https://api.stackone.com/connect/oauth2/contentful/callback`</li>
          <li>Expiration date: Set the token expiration duration (required, default: 30 days).</li>
          <li>Check <strong>Confidential</strong> — required because StackOne authenticates using the Client ID and Client Secret. If left unchecked, the app becomes a public client and the connection will fail.</li>
          <li>Check <strong>Manage</strong> if you plan to use the `content_management_manage` scope (this already includes read access, so the Read checkbox is not needed), or check <strong>Read</strong> alone if you plan to use `content_management_read`. The checkbox must match the scope you request — leaving the matching checkbox unchecked causes an authorization error.</li>
          <li>Click <strong>Create application</strong>.</li>
        </ul>
      </div>
    </Step>

    <Step title="Copy the Client ID and Client Secret">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Contentful displays the Client ID and Client Secret on the application details page.</p>

        <ul>
          <li>Copy the <strong>Client ID</strong> and the <strong>Client Secret</strong>. Store them securely for use later.</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Select an OAuth scope</h2>

  <p>Choose the scope that the OAuth application will request. `content_management_manage` grants full read and write access; `content_management_read` is read-only. Scopes are entered on the StackOne side, not in Contentful.</p>

  <Steps>
    <Step title="Choose a scope">
      <div data-guide-step data-guide-scopes="content_management_manage,content_management_read" data-guide-display-scopes-list="content_management_manage,content_management_read">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="content_management_manage,content_management_read" style={{ display: 'block', width: 'fit-content', maxWidth: '100%', padding: '2px 8px', borderRadius: '8px', fontSize: '12px', marginBottom: '8px', marginTop: '-10px', whiteSpace: 'nowrap', overflowX: 'auto', overflowY: 'hidden', msOverflowStyle: 'none', scrollbarWidth: 'none' }}>
          <span>Enables actions: </span><span data-guide-actions-badge-labels>Create Organization Invitation, Create Personal Access Token, Create Role, Create Space, Create Space Membership, Create Team, Create Team Membership, Create Team Space Membership, Delete Organization Membership, Delete Role, Delete Space, Delete Space Membership, Delete Team, Delete Team Membership, Delete Team Space Membership, Get Current User, Get Organization, Get Organization Invitation, Get Organization Membership, Get Organization User, Get Personal Access Token, Get Role, Get Space, Get Space Add-ons, Get Space Eligible Licenses, Get Space Member, Get Space Membership, Get Space User, Get Team, Get Team Membership, Get Team Space Membership, List Organization Access Tokens, List Organization Available Licenses, List Organization Memberships, List Organization Periodic Usages, List Organization Team Memberships, List Organization Teams, List Organization Users, List Organizations, List Personal Access Tokens, List Roles, List Space Members, List Space Memberships, List Space Periodic Usages, List Space Users, List Spaces, List Team Memberships In Team, List Team Space Memberships In Space, List Teams In Space, Revoke Personal Access Token, Update Organization, Update Organization Membership, Update Role, Update Space, Update Space Add-ons, Update Space Membership, Update Team, Update Team Space Membership</span>
        </div>

        <p>Contentful accepts only a single scope per OAuth request — providing multiple values returns an authorization error. Pick one scope based on the operations your connection needs and enter it in the <strong>Scopes</strong> field when creating the Connector Profile in StackOne.</p>

        <ul>
          <li>`content_management_manage` — full read and write access. Already includes read access, so do not also request `content_management_read`.</li>
          <li>`content_management_read` — read-only access.</li>
        </ul>

        <div style={{ marginTop: '8px' }} data-guide-display-scopes>
          <div className="connector-guide-scopes-container">
            <ul className="not-prose" style={{ listStyleType: "'- '", paddingLeft: '1em', margin: 0 }}>
              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="content_management_manage">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy content_management_manage" title="Copy scope" data-copy="content_management_manage">
                  <span className="connector-guide-scope-copy__label">content\_management\_manage</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="content_management_read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy content_management_read" title="Copy scope" data-copy="content_management_read">
                  <span className="connector-guide-scope-copy__label">content\_management\_read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>
  </Steps>
</section>

## Creating the StackOne Connector Profile

To create the Connector Profile in StackOne for <strong>Contentful</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>Contentful</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>Contentful</strong>.
