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

# Sentry OAuth 2.0 (Confidential Application) connector profile – StackOne setup guide

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

<Warning>Admin access to your Sentry organization is required to create OAuth applications.</Warning>

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;sentry_bulk_mutate_a_list_of_issues&#x22;,&#x22;label&#x22;:&#x22;Bulk Mutate A List Of Issues&#x22;,&#x22;scopes&#x22;:[&#x22;event:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_bulk_mutate_an_organizations_issues&#x22;,&#x22;label&#x22;:&#x22;Bulk Mutate An Organization's Issues&#x22;,&#x22;scopes&#x22;:[&#x22;event:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_bulk_remove_a_list_of_issues&#x22;,&#x22;label&#x22;:&#x22;Bulk Remove A List Of Issues&#x22;,&#x22;scopes&#x22;:[&#x22;event:admin&#x22;]},{&#x22;id&#x22;:&#x22;sentry_bulk_remove_an_organizations_issues&#x22;,&#x22;label&#x22;:&#x22;Bulk Remove An Organization's Issues&#x22;,&#x22;scopes&#x22;:[&#x22;event:admin&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_projects_error_events&#x22;,&#x22;label&#x22;:&#x22;List A Project's Error Events&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_projects_issues&#x22;,&#x22;label&#x22;:&#x22;List A Project's Issues&#x22;,&#x22;scopes&#x22;:[&#x22;event:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_tags_values_for_an_issue&#x22;,&#x22;label&#x22;:&#x22;List A Tag's Values For An Issue&#x22;,&#x22;scopes&#x22;:[&#x22;event:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_an_issues_events&#x22;,&#x22;label&#x22;:&#x22;List An Issue's Events&#x22;,&#x22;scopes&#x22;:[&#x22;event:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_an_issues_hashes&#x22;,&#x22;label&#x22;:&#x22;List An Issue's Hashes&#x22;,&#x22;scopes&#x22;:[&#x22;event:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_an_organizations_issues&#x22;,&#x22;label&#x22;:&#x22;List An Organization's Issues&#x22;,&#x22;scopes&#x22;:[&#x22;event:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_remove_an_issue&#x22;,&#x22;label&#x22;:&#x22;Remove An Issue&#x22;,&#x22;scopes&#x22;:[&#x22;event:admin&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_an_event_for_a_project&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Event For A Project&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_an_issue&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Issue&#x22;,&#x22;scopes&#x22;:[&#x22;event:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_an_issue_event&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Issue Event&#x22;,&#x22;scopes&#x22;:[&#x22;event:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_tag_details&#x22;,&#x22;label&#x22;:&#x22;Retrieve Tag Details&#x22;,&#x22;scopes&#x22;:[&#x22;event:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_update_an_issue&#x22;,&#x22;label&#x22;:&#x22;Update An Issue&#x22;,&#x22;scopes&#x22;:[&#x22;event:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_unified_get_me&#x22;,&#x22;label&#x22;:&#x22;Get Unified Credentials&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_unified_list_groups&#x22;,&#x22;label&#x22;:&#x22;List Unified Groups&#x22;,&#x22;scopes&#x22;:[&#x22;team:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_unified_get_group&#x22;,&#x22;label&#x22;:&#x22;Get Unified Group&#x22;,&#x22;scopes&#x22;:[&#x22;team:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_unified_list_organizations&#x22;,&#x22;label&#x22;:&#x22;List Unified Organizations&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_unified_get_organization&#x22;,&#x22;label&#x22;:&#x22;Get Unified Organization&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_unified_list_resource_types&#x22;,&#x22;label&#x22;:&#x22;List Unified Resource Types&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_unified_list_resource_users&#x22;,&#x22;label&#x22;:&#x22;List Unified Resource Users&#x22;,&#x22;scopes&#x22;:[&#x22;team:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_unified_list_roles&#x22;,&#x22;label&#x22;:&#x22;List Unified Roles&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_unified_get_role&#x22;,&#x22;label&#x22;:&#x22;Get Unified Role&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_unified_list_users&#x22;,&#x22;label&#x22;:&#x22;List Unified Users&#x22;,&#x22;scopes&#x22;:[&#x22;member:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_unified_get_user&#x22;,&#x22;label&#x22;:&#x22;Get Unified User&#x22;,&#x22;scopes&#x22;:[&#x22;member:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_your_organizations&#x22;,&#x22;label&#x22;:&#x22;List Your Organizations&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_get_organization&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Organization&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_update_organization&#x22;,&#x22;label&#x22;:&#x22;Update Organization&#x22;,&#x22;scopes&#x22;:[&#x22;org:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_organization_repositories&#x22;,&#x22;label&#x22;:&#x22;List An Organization's Repositories&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_organization_projects&#x22;,&#x22;label&#x22;:&#x22;List An Organization's Projects&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_add_organization_member&#x22;,&#x22;label&#x22;:&#x22;Add A Member To An Organization&#x22;,&#x22;scopes&#x22;:[&#x22;member:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_get_organization_member&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Organization Member&#x22;,&#x22;scopes&#x22;:[&#x22;member:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_delete_organization_member&#x22;,&#x22;label&#x22;:&#x22;Delete An Organization Member&#x22;,&#x22;scopes&#x22;:[&#x22;member:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_repository_commits&#x22;,&#x22;label&#x22;:&#x22;List A Repository's Commits&#x22;,&#x22;scopes&#x22;:[&#x22;org:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_organization_members&#x22;,&#x22;label&#x22;:&#x22;List An Organization's Members&#x22;,&#x22;scopes&#x22;:[&#x22;member:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_resolve_short_id&#x22;,&#x22;label&#x22;:&#x22;Resolve A Short ID&#x22;,&#x22;scopes&#x22;:[&#x22;event:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_resolve_event_id&#x22;,&#x22;label&#x22;:&#x22;Resolve An Event ID&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_get_organization_stats_summary&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Organization's Events Count By Project&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_get_organization_stats_v2&#x22;,&#x22;label&#x22;:&#x22;Retrieve Event Counts For An Organization (v2)&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_update_organization_member_roles&#x22;,&#x22;label&#x22;:&#x22;Update Organization Member Roles&#x22;,&#x22;scopes&#x22;:[&#x22;member:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_add_a_team_to_a_project&#x22;,&#x22;label&#x22;:&#x22;Add A Team To A Project&#x22;,&#x22;scopes&#x22;:[&#x22;project:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_create_a_new_project&#x22;,&#x22;label&#x22;:&#x22;Create A New Project&#x22;,&#x22;scopes&#x22;:[&#x22;project:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_delete_a_project&#x22;,&#x22;label&#x22;:&#x22;Delete A Project&#x22;,&#x22;scopes&#x22;:[&#x22;project:admin&#x22;]},{&#x22;id&#x22;:&#x22;sentry_delete_a_team_from_a_project&#x22;,&#x22;label&#x22;:&#x22;Delete A Team From A Project&#x22;,&#x22;scopes&#x22;:[&#x22;project:admin&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_projects_data_filters&#x22;,&#x22;label&#x22;:&#x22;List A Project's Data Filters&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_projects_organization_members&#x22;,&#x22;label&#x22;:&#x22;List A Project's Organization Members&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_projects_users&#x22;,&#x22;label&#x22;:&#x22;List A Project's Users&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_tags_values&#x22;,&#x22;label&#x22;:&#x22;List A Tag's Values&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_a_project&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Project&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_event_counts_for_a_project&#x22;,&#x22;label&#x22;:&#x22;Retrieve Event Counts For A Project&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_ownership_configuration_for_a_project&#x22;,&#x22;label&#x22;:&#x22;Retrieve Ownership Configuration For A Project&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_update_ownership_configuration_for_a_project&#x22;,&#x22;label&#x22;:&#x22;Update Ownership Configuration For A Project&#x22;,&#x22;scopes&#x22;:[&#x22;project:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_projects_client_keys&#x22;,&#x22;label&#x22;:&#x22;List A Project's Client Keys&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_project_releases_commits&#x22;,&#x22;label&#x22;:&#x22;List A Project Release's Commits&#x22;,&#x22;scopes&#x22;:[&#x22;project:releases&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_projects_release_files&#x22;,&#x22;label&#x22;:&#x22;List A Project's Release Files&#x22;,&#x22;scopes&#x22;:[&#x22;project:releases&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_releases_deploys&#x22;,&#x22;label&#x22;:&#x22;List A Release's Deploys&#x22;,&#x22;scopes&#x22;:[&#x22;project:releases&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_an_organization_releases_commits&#x22;,&#x22;label&#x22;:&#x22;List An Organization Release's Commits&#x22;,&#x22;scopes&#x22;:[&#x22;project:releases&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_an_organizations_release_files&#x22;,&#x22;label&#x22;:&#x22;List An Organization's Release Files&#x22;,&#x22;scopes&#x22;:[&#x22;project:releases&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_an_organizations_releases&#x22;,&#x22;label&#x22;:&#x22;List An Organization's Releases&#x22;,&#x22;scopes&#x22;:[&#x22;project:releases&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_a_project_releases_file&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Project Release's File&#x22;,&#x22;scopes&#x22;:[&#x22;project:releases&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_an_organization_releases_file&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Organization Release's File&#x22;,&#x22;scopes&#x22;:[&#x22;project:releases&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_an_organizations_release&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Organization's Release&#x22;,&#x22;scopes&#x22;:[&#x22;project:releases&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_files_changed_in_a_releases_commits&#x22;,&#x22;label&#x22;:&#x22;Retrieve Files Changed In A Release's Commits&#x22;,&#x22;scopes&#x22;:[&#x22;project:releases&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_statuses_of_release_thresholds_alpha&#x22;,&#x22;label&#x22;:&#x22;Retrieve Statuses Of Release Thresholds (Alpha)&#x22;,&#x22;scopes&#x22;:[&#x22;project:releases&#x22;]},{&#x22;id&#x22;:&#x22;sentry_get_replay&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Replay Instance&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_organization_replays&#x22;,&#x22;label&#x22;:&#x22;List An Organization's Replays&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_organization_selectors&#x22;,&#x22;label&#x22;:&#x22;List An Organization's Selectors&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_replay_recording_segments&#x22;,&#x22;label&#x22;:&#x22;List Recording Segments&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_get_replay_recording_segment&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Recording Segment&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_replay_viewed_by&#x22;,&#x22;label&#x22;:&#x22;List Users Who Have Viewed A Replay&#x22;,&#x22;scopes&#x22;:[&#x22;event:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_delete_replay&#x22;,&#x22;label&#x22;:&#x22;Delete A Replay Instance&#x22;,&#x22;scopes&#x22;:[&#x22;project:admin&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_an_organizations_teams&#x22;,&#x22;label&#x22;:&#x22;List An Organization's Teams&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_users_teams_for_an_organization&#x22;,&#x22;label&#x22;:&#x22;List A User's Teams For An Organization&#x22;,&#x22;scopes&#x22;:[&#x22;org:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_teams_projects&#x22;,&#x22;label&#x22;:&#x22;List A Team's Projects&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_teams_members&#x22;,&#x22;label&#x22;:&#x22;List A Team's Members&#x22;,&#x22;scopes&#x22;:[&#x22;team:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_list_a_projects_teams&#x22;,&#x22;label&#x22;:&#x22;List A Project's Teams&#x22;,&#x22;scopes&#x22;:[&#x22;project:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_add_an_organization_member_to_a_team&#x22;,&#x22;label&#x22;:&#x22;Add An Organization Member To A Team&#x22;,&#x22;scopes&#x22;:[&#x22;team:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_create_a_new_team&#x22;,&#x22;label&#x22;:&#x22;Create A New Team&#x22;,&#x22;scopes&#x22;:[&#x22;team:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_delete_a_team&#x22;,&#x22;label&#x22;:&#x22;Delete A Team&#x22;,&#x22;scopes&#x22;:[&#x22;team:admin&#x22;]},{&#x22;id&#x22;:&#x22;sentry_delete_an_organization_member_from_a_team&#x22;,&#x22;label&#x22;:&#x22;Delete An Organization Member From A Team&#x22;,&#x22;scopes&#x22;:[&#x22;team:admin&#x22;]},{&#x22;id&#x22;:&#x22;sentry_retrieve_a_team&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Team&#x22;,&#x22;scopes&#x22;:[&#x22;team:read&#x22;]},{&#x22;id&#x22;:&#x22;sentry_update_a_team&#x22;,&#x22;label&#x22;:&#x22;Update A Team&#x22;,&#x22;scopes&#x22;:[&#x22;team:write&#x22;]},{&#x22;id&#x22;:&#x22;sentry_update_an_organization_members_team_role&#x22;,&#x22;label&#x22;:&#x22;Update An Organization Member's Team Role&#x22;,&#x22;scopes&#x22;:[&#x22;team:write&#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>Create an OAuth application</h2>

  <p>Register an OAuth2 application in your Sentry organization to enable OAuth authentication.</p>

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

        <ul>
          <li>Navigate to <strong>Settings</strong> > <strong>Developer Settings</strong> > <strong>OAuth Applications</strong>.</li>
        </ul>
      </div>
    </Step>

    <Step title="Create a new OAuth application">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>Create New Application</strong> and select <strong>Confidential</strong> as the application type.</p>

        <ul>
          <li>Application Name: `StackOne`</li>
          <li>Redirect URI: `https://api.stackone.com/connect/oauth2/sentry/callback`</li>
        </ul>
      </div>
    </Step>

    <Step title="Save and copy credentials">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>Save</strong> to create the application.</p>

        <ul>
          <li>Copy both the <strong>Client ID</strong> and <strong>Client Secret</strong>. The secret is shown only once, store it securely for use later.</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

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

  <p>For the StackOne Auth Config, a space-separated list of scopes can be entered to limit the access of the connector.</p>

  <Steps>
    <Step title="Select required scopes">
      <div data-guide-step data-guide-scopes="org:read,org:write,org:admin,project:read,project:write,project:admin,project:releases,team:read,team:write,team:admin,member:read,member:write,member:admin,event:read,event:write,event:admin" data-guide-display-scopes-list="org:read,org:write,org:admin,project:read,project:write,project:admin,project:releases,team:read,team:write,team:admin,member:read,member:write,member:admin,event:read,event:write,event:admin">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="org:read,org:write,org:admin,project:read,project:write,project:admin,project:releases,team:read,team:write,team:admin,member:read,member:write,member:admin,event:read,event:write,event:admin" 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>Add A Member To An Organization, Add A Team To A Project, Add An Organization Member To A Team, Bulk Mutate A List Of Issues, Bulk Mutate An Organization's Issues, Bulk Remove A List Of Issues, Bulk Remove An Organization's Issues, Create A New Project, Create A New Team, Delete A Project, Delete A Replay Instance, Delete A Team, Delete A Team From A Project, Delete An Organization Member, Delete An Organization Member From A Team, Get Unified Credentials, Get Unified Group, Get Unified Organization, Get Unified Role, Get Unified User, List A Project Release's Commits, List A Project's Client Keys, List A Project's Data Filters, List A Project's Error Events, List A Project's Issues, List A Project's Organization Members, List A Project's Release Files, List A Project's Teams, List A Project's Users, List A Release's Deploys, List A Repository's Commits, List A Tag's Values, List A Tag's Values For An Issue, List A Team's Members, List A Team's Projects, List A User's Teams For An Organization, List An Issue's Events, List An Issue's Hashes, List An Organization Release's Commits, List An Organization's Issues, List An Organization's Members, List An Organization's Projects, List An Organization's Release Files, List An Organization's Releases, List An Organization's Replays, List An Organization's Repositories, List An Organization's Selectors, List An Organization's Teams, List Recording Segments, List Unified Groups, List Unified Organizations, List Unified Resource Types, List Unified Resource Users, List Unified Roles, List Unified Users, List Users Who Have Viewed A Replay, List Your Organizations, Remove An Issue, Resolve A Short ID, Resolve An Event ID, Retrieve A Project, Retrieve A Project Release's File, Retrieve A Recording Segment, Retrieve A Replay Instance, Retrieve A Team, Retrieve An Event For A Project, Retrieve An Issue, Retrieve An Issue Event, Retrieve An Organization, Retrieve An Organization Member, Retrieve An Organization Release's File, Retrieve An Organization's Events Count By Project, Retrieve An Organization's Release, Retrieve Event Counts For A Project, Retrieve Event Counts For An Organization (v2), Retrieve Files Changed In A Release's Commits, Retrieve Ownership Configuration For A Project, Retrieve Statuses Of Release Thresholds (Alpha), Retrieve Tag Details, Update A Team, Update An Issue, Update An Organization Member's Team Role, Update Organization, Update Organization Member Roles, Update Ownership Configuration For A Project</span>
        </div>

        <p>These are the scopes required for your use case:</p>

        <div style={{ marginTop: '8px' }} data-guide-display-scopes>
          <div className="connector-guide-scopes-container connector-guide-scopes-container--scrollable">
            <ul className="not-prose" style={{ listStyleType: "'- '", paddingLeft: '1em', margin: 0 }}>
              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="org:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy org:read" title="Copy scope" data-copy="org:read">
                  <span className="connector-guide-scope-copy__label">org:read</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="org:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy org:write" title="Copy scope" data-copy="org:write">
                  <span className="connector-guide-scope-copy__label">org:write</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="org:admin">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy org:admin" title="Copy scope" data-copy="org:admin">
                  <span className="connector-guide-scope-copy__label">org:admin</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="project:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy project:read" title="Copy scope" data-copy="project:read">
                  <span className="connector-guide-scope-copy__label">project:read</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="project:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy project:write" title="Copy scope" data-copy="project:write">
                  <span className="connector-guide-scope-copy__label">project:write</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="project:admin">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy project:admin" title="Copy scope" data-copy="project:admin">
                  <span className="connector-guide-scope-copy__label">project:admin</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="project:releases">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy project:releases" title="Copy scope" data-copy="project:releases">
                  <span className="connector-guide-scope-copy__label">project:releases</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="team:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy team:read" title="Copy scope" data-copy="team:read">
                  <span className="connector-guide-scope-copy__label">team:read</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="team:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy team:write" title="Copy scope" data-copy="team:write">
                  <span className="connector-guide-scope-copy__label">team:write</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="team:admin">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy team:admin" title="Copy scope" data-copy="team:admin">
                  <span className="connector-guide-scope-copy__label">team:admin</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="member:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy member:read" title="Copy scope" data-copy="member:read">
                  <span className="connector-guide-scope-copy__label">member:read</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="member:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy member:write" title="Copy scope" data-copy="member:write">
                  <span className="connector-guide-scope-copy__label">member:write</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="member:admin">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy member:admin" title="Copy scope" data-copy="member:admin">
                  <span className="connector-guide-scope-copy__label">member:admin</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="event:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy event:read" title="Copy scope" data-copy="event:read">
                  <span className="connector-guide-scope-copy__label">event:read</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="event:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy event:write" title="Copy scope" data-copy="event:write">
                  <span className="connector-guide-scope-copy__label">event:write</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="event:admin">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy event:admin" title="Copy scope" data-copy="event:admin">
                  <span className="connector-guide-scope-copy__label">event:admin</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>Sentry</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>Sentry</strong></li>
      <li>Select <strong>Type</strong> as <strong>OAuth 2.0 (Confidential Application)</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>Sentry</strong>.
