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

# Connect Grafana with Service Account Token – StackOne Hub

> Link a Grafana account in the StackOne Hub using Service Account Token. End-user guide to authorize the integration and start using Grafana actions.

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;grafana_list_alert_rules&#x22;,&#x22;label&#x22;:&#x22;List Alert Rules&#x22;,&#x22;scopes&#x22;:[&#x22;alert.rules:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_alert_rule&#x22;,&#x22;label&#x22;:&#x22;Get Alert Rule&#x22;,&#x22;scopes&#x22;:[&#x22;alert.rules:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_alert_rule&#x22;,&#x22;label&#x22;:&#x22;Create Alert Rule&#x22;,&#x22;scopes&#x22;:[&#x22;alert.rules:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_alert_rule&#x22;,&#x22;label&#x22;:&#x22;Update Alert Rule&#x22;,&#x22;scopes&#x22;:[&#x22;alert.rules:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_alert_rule&#x22;,&#x22;label&#x22;:&#x22;Delete Alert Rule&#x22;,&#x22;scopes&#x22;:[&#x22;alert.rules:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_contact_points&#x22;,&#x22;label&#x22;:&#x22;List Contact Points&#x22;,&#x22;scopes&#x22;:[&#x22;alert.provisioning:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_contact_point&#x22;,&#x22;label&#x22;:&#x22;Create Contact Point&#x22;,&#x22;scopes&#x22;:[&#x22;alert.provisioning:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_contact_point&#x22;,&#x22;label&#x22;:&#x22;Delete Contact Point&#x22;,&#x22;scopes&#x22;:[&#x22;alert.provisioning:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_notification_policies&#x22;,&#x22;label&#x22;:&#x22;Get Notification Policies&#x22;,&#x22;scopes&#x22;:[&#x22;alert.provisioning:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_mute_timings&#x22;,&#x22;label&#x22;:&#x22;List Mute Timings&#x22;,&#x22;scopes&#x22;:[&#x22;alert.provisioning:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_mute_timing&#x22;,&#x22;label&#x22;:&#x22;Get Mute Timing&#x22;,&#x22;scopes&#x22;:[&#x22;alert.provisioning:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_mute_timing&#x22;,&#x22;label&#x22;:&#x22;Create Mute Timing&#x22;,&#x22;scopes&#x22;:[&#x22;alert.provisioning:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_mute_timing&#x22;,&#x22;label&#x22;:&#x22;Update Mute Timing&#x22;,&#x22;scopes&#x22;:[&#x22;alert.provisioning:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_mute_timing&#x22;,&#x22;label&#x22;:&#x22;Delete Mute Timing&#x22;,&#x22;scopes&#x22;:[&#x22;alert.provisioning:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_contact_point&#x22;,&#x22;label&#x22;:&#x22;Update Contact Point&#x22;,&#x22;scopes&#x22;:[&#x22;alert.provisioning:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_notification_policies&#x22;,&#x22;label&#x22;:&#x22;Update Notification Policies&#x22;,&#x22;scopes&#x22;:[&#x22;alert.provisioning:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_annotations&#x22;,&#x22;label&#x22;:&#x22;List Annotations&#x22;,&#x22;scopes&#x22;:[&#x22;annotations:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_annotation&#x22;,&#x22;label&#x22;:&#x22;Create Annotation&#x22;,&#x22;scopes&#x22;:[&#x22;annotations:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_annotation&#x22;,&#x22;label&#x22;:&#x22;Update Annotation&#x22;,&#x22;scopes&#x22;:[&#x22;annotations:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_annotation&#x22;,&#x22;label&#x22;:&#x22;Delete Annotation&#x22;,&#x22;scopes&#x22;:[&#x22;annotations:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_annotation_tags&#x22;,&#x22;label&#x22;:&#x22;List Annotation Tags&#x22;,&#x22;scopes&#x22;:[&#x22;annotations:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_search_dashboards&#x22;,&#x22;label&#x22;:&#x22;Search Dashboards&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_dashboard&#x22;,&#x22;label&#x22;:&#x22;Get Dashboard&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_dashboard_permissions&#x22;,&#x22;label&#x22;:&#x22;Get Dashboard Permissions&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards.permissions:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_dashboard_permissions&#x22;,&#x22;label&#x22;:&#x22;Update Dashboard Permissions&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards.permissions:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_dashboard_versions&#x22;,&#x22;label&#x22;:&#x22;List Dashboard Versions&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_dashboard_version&#x22;,&#x22;label&#x22;:&#x22;Get Dashboard Version&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_dashboard&#x22;,&#x22;label&#x22;:&#x22;Create Dashboard&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_dashboard&#x22;,&#x22;label&#x22;:&#x22;Delete Dashboard&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_star_dashboard&#x22;,&#x22;label&#x22;:&#x22;Star Dashboard&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_unstar_dashboard&#x22;,&#x22;label&#x22;:&#x22;Unstar Dashboard&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_home_dashboard&#x22;,&#x22;label&#x22;:&#x22;Get Home Dashboard&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_dashboard_tags&#x22;,&#x22;label&#x22;:&#x22;List Dashboard Tags&#x22;,&#x22;scopes&#x22;:[&#x22;dashboards:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_datasources&#x22;,&#x22;label&#x22;:&#x22;List Data Sources&#x22;,&#x22;scopes&#x22;:[&#x22;datasources:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_datasource&#x22;,&#x22;label&#x22;:&#x22;Get Data Source&#x22;,&#x22;scopes&#x22;:[&#x22;datasources:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_datasource&#x22;,&#x22;label&#x22;:&#x22;Create Data Source&#x22;,&#x22;scopes&#x22;:[&#x22;datasources:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_datasource&#x22;,&#x22;label&#x22;:&#x22;Update Data Source&#x22;,&#x22;scopes&#x22;:[&#x22;datasources:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_datasource&#x22;,&#x22;label&#x22;:&#x22;Delete Data Source&#x22;,&#x22;scopes&#x22;:[&#x22;datasources:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_correlations&#x22;,&#x22;label&#x22;:&#x22;List Correlations&#x22;,&#x22;scopes&#x22;:[&#x22;datasources:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_correlation&#x22;,&#x22;label&#x22;:&#x22;Create Correlation&#x22;,&#x22;scopes&#x22;:[&#x22;datasources:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_correlation&#x22;,&#x22;label&#x22;:&#x22;Delete Correlation&#x22;,&#x22;scopes&#x22;:[&#x22;datasources:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_folders&#x22;,&#x22;label&#x22;:&#x22;List Folders&#x22;,&#x22;scopes&#x22;:[&#x22;folders:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_folder&#x22;,&#x22;label&#x22;:&#x22;Get Folder&#x22;,&#x22;scopes&#x22;:[&#x22;folders:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_folder&#x22;,&#x22;label&#x22;:&#x22;Create Folder&#x22;,&#x22;scopes&#x22;:[&#x22;folders:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_folder&#x22;,&#x22;label&#x22;:&#x22;Update Folder&#x22;,&#x22;scopes&#x22;:[&#x22;folders:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_folder&#x22;,&#x22;label&#x22;:&#x22;Delete Folder&#x22;,&#x22;scopes&#x22;:[&#x22;folders:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_folder_permissions&#x22;,&#x22;label&#x22;:&#x22;Get Folder Permissions&#x22;,&#x22;scopes&#x22;:[&#x22;folders.permissions:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_folder_permissions&#x22;,&#x22;label&#x22;:&#x22;Update Folder Permissions&#x22;,&#x22;scopes&#x22;:[&#x22;folders.permissions:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_organization&#x22;,&#x22;label&#x22;:&#x22;Get Organization&#x22;,&#x22;scopes&#x22;:[&#x22;orgs:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_organization&#x22;,&#x22;label&#x22;:&#x22;Update Organization&#x22;,&#x22;scopes&#x22;:[&#x22;orgs:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_org_users&#x22;,&#x22;label&#x22;:&#x22;List Organization Users&#x22;,&#x22;scopes&#x22;:[&#x22;org.users:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_add_org_user&#x22;,&#x22;label&#x22;:&#x22;Add Organization User&#x22;,&#x22;scopes&#x22;:[&#x22;org.users:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_org_user_role&#x22;,&#x22;label&#x22;:&#x22;Update Organization User Role&#x22;,&#x22;scopes&#x22;:[&#x22;org.users:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_remove_org_user&#x22;,&#x22;label&#x22;:&#x22;Remove Organization User&#x22;,&#x22;scopes&#x22;:[&#x22;org.users:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_org_preferences&#x22;,&#x22;label&#x22;:&#x22;Get Organization Preferences&#x22;,&#x22;scopes&#x22;:[&#x22;orgs:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_org_preferences&#x22;,&#x22;label&#x22;:&#x22;Update Organization Preferences&#x22;,&#x22;scopes&#x22;:[&#x22;orgs:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_playlists&#x22;,&#x22;label&#x22;:&#x22;List Playlists&#x22;,&#x22;scopes&#x22;:[&#x22;playlists:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_playlist&#x22;,&#x22;label&#x22;:&#x22;Get Playlist&#x22;,&#x22;scopes&#x22;:[&#x22;playlists:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_playlist&#x22;,&#x22;label&#x22;:&#x22;Create Playlist&#x22;,&#x22;scopes&#x22;:[&#x22;playlists:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_playlist&#x22;,&#x22;label&#x22;:&#x22;Update Playlist&#x22;,&#x22;scopes&#x22;:[&#x22;playlists:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_playlist&#x22;,&#x22;label&#x22;:&#x22;Delete Playlist&#x22;,&#x22;scopes&#x22;:[&#x22;playlists:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_service_accounts&#x22;,&#x22;label&#x22;:&#x22;List Service Accounts&#x22;,&#x22;scopes&#x22;:[&#x22;serviceaccounts:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_service_account&#x22;,&#x22;label&#x22;:&#x22;Get Service Account&#x22;,&#x22;scopes&#x22;:[&#x22;serviceaccounts:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_service_account&#x22;,&#x22;label&#x22;:&#x22;Create Service Account&#x22;,&#x22;scopes&#x22;:[&#x22;serviceaccounts:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_service_account&#x22;,&#x22;label&#x22;:&#x22;Update Service Account&#x22;,&#x22;scopes&#x22;:[&#x22;serviceaccounts:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_service_account&#x22;,&#x22;label&#x22;:&#x22;Delete Service Account&#x22;,&#x22;scopes&#x22;:[&#x22;serviceaccounts:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_service_account_tokens&#x22;,&#x22;label&#x22;:&#x22;List Service Account Tokens&#x22;,&#x22;scopes&#x22;:[&#x22;serviceaccounts:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_service_account_token&#x22;,&#x22;label&#x22;:&#x22;Create Service Account Token&#x22;,&#x22;scopes&#x22;:[&#x22;serviceaccounts:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_service_account_token&#x22;,&#x22;label&#x22;:&#x22;Delete Service Account Token&#x22;,&#x22;scopes&#x22;:[&#x22;serviceaccounts:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_teams&#x22;,&#x22;label&#x22;:&#x22;List Teams&#x22;,&#x22;scopes&#x22;:[&#x22;teams:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_team&#x22;,&#x22;label&#x22;:&#x22;Get Team&#x22;,&#x22;scopes&#x22;:[&#x22;teams:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_team&#x22;,&#x22;label&#x22;:&#x22;Create Team&#x22;,&#x22;scopes&#x22;:[&#x22;teams:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_team&#x22;,&#x22;label&#x22;:&#x22;Update Team&#x22;,&#x22;scopes&#x22;:[&#x22;teams:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_team&#x22;,&#x22;label&#x22;:&#x22;Delete Team&#x22;,&#x22;scopes&#x22;:[&#x22;teams:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_team_members&#x22;,&#x22;label&#x22;:&#x22;List Team Members&#x22;,&#x22;scopes&#x22;:[&#x22;teams.permissions:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_add_team_member&#x22;,&#x22;label&#x22;:&#x22;Add Team Member&#x22;,&#x22;scopes&#x22;:[&#x22;teams.permissions:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_remove_team_member&#x22;,&#x22;label&#x22;:&#x22;Remove Team Member&#x22;,&#x22;scopes&#x22;:[&#x22;teams.permissions:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_snapshots&#x22;,&#x22;label&#x22;:&#x22;List Snapshots&#x22;,&#x22;scopes&#x22;:[&#x22;snapshots:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_snapshot&#x22;,&#x22;label&#x22;:&#x22;Get Snapshot&#x22;,&#x22;scopes&#x22;:[&#x22;snapshots:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_snapshot&#x22;,&#x22;label&#x22;:&#x22;Delete Snapshot&#x22;,&#x22;scopes&#x22;:[&#x22;snapshots:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_list_library_elements&#x22;,&#x22;label&#x22;:&#x22;List Library Elements&#x22;,&#x22;scopes&#x22;:[&#x22;library.panels:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_get_library_element&#x22;,&#x22;label&#x22;:&#x22;Get Library Element&#x22;,&#x22;scopes&#x22;:[&#x22;library.panels:read&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_snapshot&#x22;,&#x22;label&#x22;:&#x22;Create Snapshot&#x22;,&#x22;scopes&#x22;:[&#x22;snapshots:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_create_library_element&#x22;,&#x22;label&#x22;:&#x22;Create Library Element&#x22;,&#x22;scopes&#x22;:[&#x22;library.panels:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_delete_library_element&#x22;,&#x22;label&#x22;:&#x22;Delete Library Element&#x22;,&#x22;scopes&#x22;:[&#x22;library.panels:write&#x22;]},{&#x22;id&#x22;:&#x22;grafana_update_library_element&#x22;,&#x22;label&#x22;:&#x22;Update Library Element&#x22;,&#x22;scopes&#x22;:[&#x22;library.panels: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>Generate a Service Account Token</h2>

  <p>A Service Account Token provides programmatic access to your Grafana instance.</p>

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

        <ul>
          <li>Navigate to <strong>Administration</strong> > <strong>Users and access</strong> > <strong>Service Accounts</strong>.</li>
        </ul>
      </div>
    </Step>

    <Step title="Create a Service Account">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>Add service account</strong> and configure the following.</p>

        <ul>
          <li>Enter a descriptive name (e.g., `StackOne Integration`).</li>
          <li>Select the <strong>Admin</strong> role for full access, or select <strong>No Basic Role</strong> and select individual permissions (see below).</li>
        </ul>
      </div>
    </Step>

    <Step title="Select permissions">
      <div data-guide-step data-guide-scopes="dashboards:read,dashboards:write,dashboards.permissions:read,dashboards.permissions:write,folders:read,folders:write,folders.permissions:read,folders.permissions:write,annotations:read,annotations:write,alert.rules:read,alert.rules:write,alert.provisioning:read,alert.provisioning:write,datasources:read,datasources:write,playlists:read,playlists:write,orgs:read,orgs:write,org.users:read,org.users:write,teams:read,teams:write,teams.permissions:read,teams.permissions:write,serviceaccounts:read,serviceaccounts:write,library.panels:read,library.panels:write,snapshots:read,snapshots:write" data-guide-display-scopes-list="dashboards:read,dashboards:write,dashboards.permissions:read,dashboards.permissions:write,folders:read,folders:write,folders.permissions:read,folders.permissions:write,annotations:read,annotations:write,alert.rules:read,alert.rules:write,alert.provisioning:read,alert.provisioning:write,datasources:read,datasources:write,playlists:read,playlists:write,orgs:read,orgs:write,org.users:read,org.users:write,teams:read,teams:write,teams.permissions:read,teams.permissions:write,serviceaccounts:read,serviceaccounts:write,library.panels:read,library.panels:write,snapshots:read,snapshots:write">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="dashboards:read,dashboards:write,dashboards.permissions:read,dashboards.permissions:write,folders:read,folders:write,folders.permissions:read,folders.permissions:write,annotations:read,annotations:write,alert.rules:read,alert.rules:write,alert.provisioning:read,alert.provisioning:write,datasources:read,datasources:write,playlists:read,playlists:write,orgs:read,orgs:write,org.users:read,org.users:write,teams:read,teams:write,teams.permissions:read,teams.permissions:write,serviceaccounts:read,serviceaccounts:write,library.panels:read,library.panels:write,snapshots:read,snapshots:write" 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 Organization User, Add Team Member, Create Alert Rule, Create Annotation, Create Contact Point, Create Correlation, Create Dashboard, Create Data Source, Create Folder, Create Library Element, Create Mute Timing, Create Playlist, Create Service Account, Create Service Account Token, Create Snapshot, Create Team, Delete Alert Rule, Delete Annotation, Delete Contact Point, Delete Correlation, Delete Dashboard, Delete Data Source, Delete Folder, Delete Library Element, Delete Mute Timing, Delete Playlist, Delete Service Account, Delete Service Account Token, Delete Snapshot, Delete Team, Get Alert Rule, Get Dashboard, Get Dashboard Permissions, Get Dashboard Version, Get Data Source, Get Folder, Get Folder Permissions, Get Home Dashboard, Get Library Element, Get Mute Timing, Get Notification Policies, Get Organization, Get Organization Preferences, Get Playlist, Get Service Account, Get Snapshot, Get Team, List Alert Rules, List Annotation Tags, List Annotations, List Contact Points, List Correlations, List Dashboard Tags, List Dashboard Versions, List Data Sources, List Folders, List Library Elements, List Mute Timings, List Organization Users, List Playlists, List Service Account Tokens, List Service Accounts, List Snapshots, List Team Members, List Teams, Remove Organization User, Remove Team Member, Search Dashboards, Star Dashboard, Unstar Dashboard, Update Alert Rule, Update Annotation, Update Contact Point, Update Dashboard Permissions, Update Data Source, Update Folder, Update Folder Permissions, Update Library Element, Update Mute Timing, Update Notification Policies, Update Organization, Update Organization Preferences, Update Organization User Role, Update Playlist, Update Service Account, Update Team</span>
        </div>

        <p>If not using <strong>Admin</strong> role, select the permissions 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="dashboards:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy dashboards:read" title="Copy scope" data-copy="dashboards:read">
                  <span className="connector-guide-scope-copy__label">dashboards: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="dashboards:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy dashboards:write" title="Copy scope" data-copy="dashboards:write">
                  <span className="connector-guide-scope-copy__label">dashboards: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="dashboards.permissions:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy dashboards.permissions:read" title="Copy scope" data-copy="dashboards.permissions:read">
                  <span className="connector-guide-scope-copy__label">dashboards.permissions: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="dashboards.permissions:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy dashboards.permissions:write" title="Copy scope" data-copy="dashboards.permissions:write">
                  <span className="connector-guide-scope-copy__label">dashboards.permissions: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="folders:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy folders:read" title="Copy scope" data-copy="folders:read">
                  <span className="connector-guide-scope-copy__label">folders: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="folders:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy folders:write" title="Copy scope" data-copy="folders:write">
                  <span className="connector-guide-scope-copy__label">folders: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="folders.permissions:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy folders.permissions:read" title="Copy scope" data-copy="folders.permissions:read">
                  <span className="connector-guide-scope-copy__label">folders.permissions: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="folders.permissions:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy folders.permissions:write" title="Copy scope" data-copy="folders.permissions:write">
                  <span className="connector-guide-scope-copy__label">folders.permissions: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="annotations:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy annotations:read" title="Copy scope" data-copy="annotations:read">
                  <span className="connector-guide-scope-copy__label">annotations: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="annotations:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy annotations:write" title="Copy scope" data-copy="annotations:write">
                  <span className="connector-guide-scope-copy__label">annotations: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="alert.rules:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy alert.rules:read" title="Copy scope" data-copy="alert.rules:read">
                  <span className="connector-guide-scope-copy__label">alert.rules: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="alert.rules:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy alert.rules:write" title="Copy scope" data-copy="alert.rules:write">
                  <span className="connector-guide-scope-copy__label">alert.rules: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="alert.provisioning:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy alert.provisioning:read" title="Copy scope" data-copy="alert.provisioning:read">
                  <span className="connector-guide-scope-copy__label">alert.provisioning: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="alert.provisioning:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy alert.provisioning:write" title="Copy scope" data-copy="alert.provisioning:write">
                  <span className="connector-guide-scope-copy__label">alert.provisioning: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="datasources:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy datasources:read" title="Copy scope" data-copy="datasources:read">
                  <span className="connector-guide-scope-copy__label">datasources: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="datasources:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy datasources:write" title="Copy scope" data-copy="datasources:write">
                  <span className="connector-guide-scope-copy__label">datasources: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="playlists:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy playlists:read" title="Copy scope" data-copy="playlists:read">
                  <span className="connector-guide-scope-copy__label">playlists: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="playlists:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy playlists:write" title="Copy scope" data-copy="playlists:write">
                  <span className="connector-guide-scope-copy__label">playlists: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="orgs:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy orgs:read" title="Copy scope" data-copy="orgs:read">
                  <span className="connector-guide-scope-copy__label">orgs: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="orgs:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy orgs:write" title="Copy scope" data-copy="orgs:write">
                  <span className="connector-guide-scope-copy__label">orgs: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.users:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy org.users:read" title="Copy scope" data-copy="org.users:read">
                  <span className="connector-guide-scope-copy__label">org.users: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.users:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy org.users:write" title="Copy scope" data-copy="org.users:write">
                  <span className="connector-guide-scope-copy__label">org.users: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="teams:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy teams:read" title="Copy scope" data-copy="teams:read">
                  <span className="connector-guide-scope-copy__label">teams: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="teams:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy teams:write" title="Copy scope" data-copy="teams:write">
                  <span className="connector-guide-scope-copy__label">teams: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="teams.permissions:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy teams.permissions:read" title="Copy scope" data-copy="teams.permissions:read">
                  <span className="connector-guide-scope-copy__label">teams.permissions: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="teams.permissions:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy teams.permissions:write" title="Copy scope" data-copy="teams.permissions:write">
                  <span className="connector-guide-scope-copy__label">teams.permissions: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="serviceaccounts:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy serviceaccounts:read" title="Copy scope" data-copy="serviceaccounts:read">
                  <span className="connector-guide-scope-copy__label">serviceaccounts: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="serviceaccounts:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy serviceaccounts:write" title="Copy scope" data-copy="serviceaccounts:write">
                  <span className="connector-guide-scope-copy__label">serviceaccounts: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="library.panels:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy library.panels:read" title="Copy scope" data-copy="library.panels:read">
                  <span className="connector-guide-scope-copy__label">library.panels: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="library.panels:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy library.panels:write" title="Copy scope" data-copy="library.panels:write">
                  <span className="connector-guide-scope-copy__label">library.panels: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="snapshots:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy snapshots:read" title="Copy scope" data-copy="snapshots:read">
                  <span className="connector-guide-scope-copy__label">snapshots: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="snapshots:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy snapshots:write" title="Copy scope" data-copy="snapshots:write">
                  <span className="connector-guide-scope-copy__label">snapshots:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>

    <Step title="Generate a token">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click on the newly created service account, then click <strong>Add service account token</strong>.</p>

        <ul>
          <li>Enter a token name (e.g., `stackone-token`).</li>
          <li>Optionally set an expiration date.</li>
          <li>Click <strong>Generate token</strong> and copy the token immediately — store it securely for use later.</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Find your instance URL</h2>

  <p>Your instance URL identifies your organization's Grafana environment. Include a trailing slash.</p>

  <ul>
    <li>Check your browser address bar when signed in to Grafana.</li>
    <li>Format: `https://{your-org}.grafana.net/`</li>
    <li>Example: if your URL is `https://acme.grafana.net/dashboards`, your instance URL is `https://acme.grafana.net/`</li>
    <li>For self-hosted instances, use your Grafana domain (e.g., `https://grafana.yourcompany.com/`)</li>
  </ul>
</section>

<div data-whitelabel-hide>
  <h2>Linking the Account from the Hub</h2>

  <Steps>
    <Step title="Navigate to the Hub">
      Use one of the three <a href="/guides/accounts-section#linking-accounts">Linking Account Methods</a> to access the Hub.
    </Step>

    <Step title="Fill out the fields">
      Fill out the following fields using details from your provider:

      <ul>
        <li><strong>Service Account Token</strong></li>
        <li><strong>Instance URL</strong></li>
      </ul>
    </Step>

    <Step title="Connect">
      <ul>
        <li>Click <strong>Connect</strong></li>
        <li>If applicable, the provider will redirect you to a sign-in or authorization page. Complete the provider's authorization flow.</li>
        <li>Once authorization is successful, you will see a confirmation popup</li>
      </ul>
    </Step>
  </Steps>

  <p>If the account linking is successful, you will see the newly linked account in your <a href="/guides/accounts-section">Accounts</a> page.</p>
</div>
