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

# Lucca OAuth 2.0 connector profile – StackOne setup guide

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

<Warning>Admin access to your Lucca account is required to create integration keys.</Warning>

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;lucca_list_employees&#x22;,&#x22;label&#x22;:&#x22;List Employees&#x22;,&#x22;scopes&#x22;:[&#x22;employees.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_employee&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Employee&#x22;,&#x22;scopes&#x22;:[&#x22;employees.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_portrait&#x22;,&#x22;label&#x22;:&#x22;Retrieve/Download A Portrait&#x22;,&#x22;scopes&#x22;:[&#x22;employees.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_employee_personal_records&#x22;,&#x22;label&#x22;:&#x22;List Employee-personal-records&#x22;,&#x22;scopes&#x22;:[&#x22;employee-personal-records.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_employee_personal_record&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Employee-personal-record&#x22;,&#x22;scopes&#x22;:[&#x22;employee-personal-records.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_departments&#x22;,&#x22;label&#x22;:&#x22;List Departments&#x22;,&#x22;scopes&#x22;:[&#x22;departments.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_department&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Department&#x22;,&#x22;scopes&#x22;:[&#x22;departments.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_create_department&#x22;,&#x22;label&#x22;:&#x22;Create A Department&#x22;,&#x22;scopes&#x22;:[&#x22;departments.readwrite&#x22;]},{&#x22;id&#x22;:&#x22;lucca_update_department&#x22;,&#x22;label&#x22;:&#x22;Update A Department&#x22;,&#x22;scopes&#x22;:[&#x22;departments.readwrite&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_legal_entities&#x22;,&#x22;label&#x22;:&#x22;List Legal-entities&#x22;,&#x22;scopes&#x22;:[&#x22;legal-entities.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_legal_entity&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Legal-entity&#x22;,&#x22;scopes&#x22;:[&#x22;legal-entities.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_business_establishments&#x22;,&#x22;label&#x22;:&#x22;List Business-establishments&#x22;,&#x22;scopes&#x22;:[&#x22;business-establishments.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_business_establishment&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Business-establishment&#x22;,&#x22;scopes&#x22;:[&#x22;business-establishments.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_employments&#x22;,&#x22;label&#x22;:&#x22;List Employments&#x22;,&#x22;scopes&#x22;:[&#x22;employments.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_employment&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Employment&#x22;,&#x22;scopes&#x22;:[&#x22;employments.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_employment_templates&#x22;,&#x22;label&#x22;:&#x22;List Employment-templates&#x22;,&#x22;scopes&#x22;:[&#x22;employment-templates.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_employment_template&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Employment-template&#x22;,&#x22;scopes&#x22;:[&#x22;employment-templates.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_job_positions&#x22;,&#x22;label&#x22;:&#x22;List Job-positions&#x22;,&#x22;scopes&#x22;:[&#x22;job-positions.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_job_position&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Job-position&#x22;,&#x22;scopes&#x22;:[&#x22;job-positions.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_probationary_periods&#x22;,&#x22;label&#x22;:&#x22;List Probationary-periods&#x22;,&#x22;scopes&#x22;:[&#x22;probationary-periods.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_probationary_period&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Probationary-period&#x22;,&#x22;scopes&#x22;:[&#x22;probationary-periods.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_employee_attribute_definitions&#x22;,&#x22;label&#x22;:&#x22;List Employee-attribute-definitions&#x22;,&#x22;scopes&#x22;:[&#x22;employee-attribute-definitions.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_employee_attribute_definition&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Employee-attribute-definition&#x22;,&#x22;scopes&#x22;:[&#x22;employee-attribute-definitions.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_employee_attributes&#x22;,&#x22;label&#x22;:&#x22;List Employee-attributes&#x22;,&#x22;scopes&#x22;:[&#x22;employee-attributes.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_employee_attribute&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Employee-attribute&#x22;,&#x22;scopes&#x22;:[&#x22;employee-attributes.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_professions&#x22;,&#x22;label&#x22;:&#x22;List Professions&#x22;,&#x22;scopes&#x22;:[&#x22;job-qualifications.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_profession&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Profession&#x22;,&#x22;scopes&#x22;:[&#x22;job-qualifications.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_job_qualifications&#x22;,&#x22;label&#x22;:&#x22;List Job-qualifications&#x22;,&#x22;scopes&#x22;:[&#x22;job-qualifications.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_job_qualification&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Job-qualification&#x22;,&#x22;scopes&#x22;:[&#x22;job-qualifications.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_occupation_categories&#x22;,&#x22;label&#x22;:&#x22;List Occupation-categories&#x22;,&#x22;scopes&#x22;:[&#x22;occupation-categories.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_occupation_category&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Occupation-category&#x22;,&#x22;scopes&#x22;:[&#x22;occupation-categories.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_taxonomies&#x22;,&#x22;label&#x22;:&#x22;List Taxonomies&#x22;,&#x22;scopes&#x22;:[&#x22;taxonomies.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_taxonomy&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Taxonomy&#x22;,&#x22;scopes&#x22;:[&#x22;taxonomies.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_taxonomy_labels&#x22;,&#x22;label&#x22;:&#x22;List Taxonomy-labels&#x22;,&#x22;scopes&#x22;:[&#x22;taxonomies.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_taxonomy_label&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Taxonomy-label&#x22;,&#x22;scopes&#x22;:[&#x22;taxonomies.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_upload_file&#x22;,&#x22;label&#x22;:&#x22;Upload A File&#x22;,&#x22;scopes&#x22;:[&#x22;files.readwrite&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_file&#x22;,&#x22;label&#x22;:&#x22;Retrieve A File&#x22;,&#x22;scopes&#x22;:[&#x22;files.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_webhook_endpoints&#x22;,&#x22;label&#x22;:&#x22;List Webhook-endpoints&#x22;,&#x22;scopes&#x22;:[&#x22;webhook-endpoints.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_create_webhook_endpoint&#x22;,&#x22;label&#x22;:&#x22;Create A Webhook-endpoint&#x22;,&#x22;scopes&#x22;:[&#x22;webhook-endpoints.readwrite&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_webhook_endpoint&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Webhook-endpoint&#x22;,&#x22;scopes&#x22;:[&#x22;webhook-endpoints.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_update_webhook_endpoint&#x22;,&#x22;label&#x22;:&#x22;Update A Webhook-endpoint&#x22;,&#x22;scopes&#x22;:[&#x22;webhook-endpoints.readwrite&#x22;]},{&#x22;id&#x22;:&#x22;lucca_delete_webhook_endpoint&#x22;,&#x22;label&#x22;:&#x22;Delete A Webhook-endpoint&#x22;,&#x22;scopes&#x22;:[&#x22;webhook-endpoints.readwrite&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_webhook_deliveries&#x22;,&#x22;label&#x22;:&#x22;List Webhook-deliveries&#x22;,&#x22;scopes&#x22;:[&#x22;webhook-deliveries.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_trigger_test_delivery&#x22;,&#x22;label&#x22;:&#x22;Trigger A Test Delivery&#x22;,&#x22;scopes&#x22;:[&#x22;webhook-deliveries.readwrite&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_webhook_delivery&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Webhook-delivery&#x22;,&#x22;scopes&#x22;:[&#x22;webhook-deliveries.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_list_webhook_delivery_attempts&#x22;,&#x22;label&#x22;:&#x22;List Webhook-delivery-attempts&#x22;,&#x22;scopes&#x22;:[&#x22;webhook-deliveries.readonly&#x22;]},{&#x22;id&#x22;:&#x22;lucca_retrieve_webhook_delivery_attempt&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Webhook-delivery-attempt&#x22;,&#x22;scopes&#x22;:[&#x22;webhook-deliveries.readonly&#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 Integration Keys</h2>

  <p>Create OAuth 2.0 credentials in your Lucca account to enable API access.</p>

  <Steps>
    <Step title="Access Integration Keys">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Navigate to the integration keys management page in your Lucca account.</p>

        <ul>
          <li>Log in to your Lucca account</li>
          <li>Go to <strong>Settings</strong> > <strong>Identity</strong> > <strong>Integration Keys</strong></li>
          <li>Or navigate directly to `/identity/admin/integration-keys`</li>
        </ul>
      </div>
    </Step>

    <Step title="Create a New Integration">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Create a new integration application.</p>

        <ul>
          <li>Click <strong>Add integration key</strong></li>
          <li>Enter a technical contact email</li>
          <li>Provide a name for the application (e.g., "StackOne Integration")</li>
        </ul>
      </div>
    </Step>

    <Step title="Configure Scopes">
      <div data-guide-step data-guide-scopes="employees.readonly,employees.readwrite,departments.readonly,departments.readwrite,legal-entities.readonly,business-establishments.readonly,employments.readonly,employments.readwrite,employment-templates.readonly,job-positions.readonly,job-positions.readwrite,probationary-periods.readonly,employee-personal-records.readonly,employee-attribute-definitions.readonly,employee-attributes.readonly,job-qualifications.readonly,occupation-categories.readonly,taxonomies.readonly,taxonomies.readwrite,files.readonly,files.readwrite,webhook-endpoints.readonly,webhook-endpoints.readwrite,webhook-deliveries.readonly,webhook-deliveries.readwrite" data-guide-display-scopes-list="employees.readonly,employees.readwrite,departments.readonly,departments.readwrite,legal-entities.readonly,business-establishments.readonly,employments.readonly,employments.readwrite,employment-templates.readonly,job-positions.readonly,job-positions.readwrite,probationary-periods.readonly,employee-personal-records.readonly,employee-attribute-definitions.readonly,employee-attributes.readonly,job-qualifications.readonly,occupation-categories.readonly,taxonomies.readonly,taxonomies.readwrite,files.readonly,files.readwrite,webhook-endpoints.readonly,webhook-endpoints.readwrite,webhook-deliveries.readonly,webhook-deliveries.readwrite">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="employees.readonly,employees.readwrite,departments.readonly,departments.readwrite,legal-entities.readonly,business-establishments.readonly,employments.readonly,employments.readwrite,employment-templates.readonly,job-positions.readonly,job-positions.readwrite,probationary-periods.readonly,employee-personal-records.readonly,employee-attribute-definitions.readonly,employee-attributes.readonly,job-qualifications.readonly,occupation-categories.readonly,taxonomies.readonly,taxonomies.readwrite,files.readonly,files.readwrite,webhook-endpoints.readonly,webhook-endpoints.readwrite,webhook-deliveries.readonly,webhook-deliveries.readwrite" 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 A Department, Create A Webhook-endpoint, Delete A Webhook-endpoint, List Business-establishments, List Departments, List Employee-attribute-definitions, List Employee-attributes, List Employee-personal-records, List Employees, List Employment-templates, List Employments, List Job-positions, List Job-qualifications, List Legal-entities, List Occupation-categories, List Probationary-periods, List Professions, List Taxonomies, List Taxonomy-labels, List Webhook-deliveries, List Webhook-delivery-attempts, List Webhook-endpoints, Retrieve A Business-establishment, Retrieve A Department, Retrieve A File, Retrieve A Job-position, Retrieve A Job-qualification, Retrieve A Legal-entity, Retrieve A Probationary-period, Retrieve A Profession, Retrieve A Taxonomy, Retrieve A Taxonomy-label, Retrieve A Webhook-delivery, Retrieve A Webhook-delivery-attempt, Retrieve A Webhook-endpoint, Retrieve An Employee, Retrieve An Employee-attribute, Retrieve An Employee-attribute-definition, Retrieve An Employee-personal-record, Retrieve An Employment, Retrieve An Employment-template, Retrieve An Occupation-category, Retrieve/Download A Portrait, Trigger A Test Delivery, Update A Department, Update A Webhook-endpoint, Upload A File</span>
        </div>

        <p>Select the OAuth scopes your integration needs.</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="employees.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy employees.readonly" title="Copy scope" data-copy="employees.readonly">
                  <span className="connector-guide-scope-copy__label">employees.readonly</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="employees.readwrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy employees.readwrite" title="Copy scope" data-copy="employees.readwrite">
                  <span className="connector-guide-scope-copy__label">employees.readwrite</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="departments.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy departments.readonly" title="Copy scope" data-copy="departments.readonly">
                  <span className="connector-guide-scope-copy__label">departments.readonly</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="departments.readwrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy departments.readwrite" title="Copy scope" data-copy="departments.readwrite">
                  <span className="connector-guide-scope-copy__label">departments.readwrite</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="legal-entities.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy legal-entities.readonly" title="Copy scope" data-copy="legal-entities.readonly">
                  <span className="connector-guide-scope-copy__label">legal-entities.readonly</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="business-establishments.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy business-establishments.readonly" title="Copy scope" data-copy="business-establishments.readonly">
                  <span className="connector-guide-scope-copy__label">business-establishments.readonly</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="employments.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy employments.readonly" title="Copy scope" data-copy="employments.readonly">
                  <span className="connector-guide-scope-copy__label">employments.readonly</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="employments.readwrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy employments.readwrite" title="Copy scope" data-copy="employments.readwrite">
                  <span className="connector-guide-scope-copy__label">employments.readwrite</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="employment-templates.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy employment-templates.readonly" title="Copy scope" data-copy="employment-templates.readonly">
                  <span className="connector-guide-scope-copy__label">employment-templates.readonly</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="job-positions.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy job-positions.readonly" title="Copy scope" data-copy="job-positions.readonly">
                  <span className="connector-guide-scope-copy__label">job-positions.readonly</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="job-positions.readwrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy job-positions.readwrite" title="Copy scope" data-copy="job-positions.readwrite">
                  <span className="connector-guide-scope-copy__label">job-positions.readwrite</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="probationary-periods.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy probationary-periods.readonly" title="Copy scope" data-copy="probationary-periods.readonly">
                  <span className="connector-guide-scope-copy__label">probationary-periods.readonly</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="employee-personal-records.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy employee-personal-records.readonly" title="Copy scope" data-copy="employee-personal-records.readonly">
                  <span className="connector-guide-scope-copy__label">employee-personal-records.readonly</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="employee-attribute-definitions.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy employee-attribute-definitions.readonly" title="Copy scope" data-copy="employee-attribute-definitions.readonly">
                  <span className="connector-guide-scope-copy__label">employee-attribute-definitions.readonly</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="employee-attributes.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy employee-attributes.readonly" title="Copy scope" data-copy="employee-attributes.readonly">
                  <span className="connector-guide-scope-copy__label">employee-attributes.readonly</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="job-qualifications.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy job-qualifications.readonly" title="Copy scope" data-copy="job-qualifications.readonly">
                  <span className="connector-guide-scope-copy__label">job-qualifications.readonly</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="occupation-categories.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy occupation-categories.readonly" title="Copy scope" data-copy="occupation-categories.readonly">
                  <span className="connector-guide-scope-copy__label">occupation-categories.readonly</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="taxonomies.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy taxonomies.readonly" title="Copy scope" data-copy="taxonomies.readonly">
                  <span className="connector-guide-scope-copy__label">taxonomies.readonly</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="taxonomies.readwrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy taxonomies.readwrite" title="Copy scope" data-copy="taxonomies.readwrite">
                  <span className="connector-guide-scope-copy__label">taxonomies.readwrite</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="files.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy files.readonly" title="Copy scope" data-copy="files.readonly">
                  <span className="connector-guide-scope-copy__label">files.readonly</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="files.readwrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy files.readwrite" title="Copy scope" data-copy="files.readwrite">
                  <span className="connector-guide-scope-copy__label">files.readwrite</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="webhook-endpoints.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy webhook-endpoints.readonly" title="Copy scope" data-copy="webhook-endpoints.readonly">
                  <span className="connector-guide-scope-copy__label">webhook-endpoints.readonly</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="webhook-endpoints.readwrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy webhook-endpoints.readwrite" title="Copy scope" data-copy="webhook-endpoints.readwrite">
                  <span className="connector-guide-scope-copy__label">webhook-endpoints.readwrite</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="webhook-deliveries.readonly">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy webhook-deliveries.readonly" title="Copy scope" data-copy="webhook-deliveries.readonly">
                  <span className="connector-guide-scope-copy__label">webhook-deliveries.readonly</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="webhook-deliveries.readwrite">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy webhook-deliveries.readwrite" title="Copy scope" data-copy="webhook-deliveries.readwrite">
                  <span className="connector-guide-scope-copy__label">webhook-deliveries.readwrite</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>

    <Step title="Select Establishments">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Choose which business establishments the integration can access.</p>

        <ul>
          <li>Select the establishments you want the integration to access</li>
          <li>Or select all establishments for full access</li>
        </ul>
      </div>
    </Step>

    <Step title="Copy Credentials">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Copy and store your credentials securely.</p>

        <ul>
          <li>Copy the <strong>Client ID</strong></li>
          <li>Copy the <strong>Client Secret</strong> immediately — it will not be shown again</li>
          <li>Store both values securely</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

## Creating the StackOne Connector Profile

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