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

# Teamleader Focus OAuth 2.0 connector profile – StackOne setup guide

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

<Warning>A Teamleader Marketplace developer account is required to register an OAuth integration.</Warning>

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;teamleader_list_companies&#x22;,&#x22;label&#x22;:&#x22;List Companies&#x22;,&#x22;scopes&#x22;:[&#x22;companies&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_get_company&#x22;,&#x22;label&#x22;:&#x22;Get A Single Company&#x22;,&#x22;scopes&#x22;:[&#x22;companies&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_create_company&#x22;,&#x22;label&#x22;:&#x22;Create A New Company&#x22;,&#x22;scopes&#x22;:[&#x22;companies&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_update_company&#x22;,&#x22;label&#x22;:&#x22;Update A Company&#x22;,&#x22;scopes&#x22;:[&#x22;companies&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_delete_company&#x22;,&#x22;label&#x22;:&#x22;Delete A Company&#x22;,&#x22;scopes&#x22;:[&#x22;companies&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_list_contacts&#x22;,&#x22;label&#x22;:&#x22;List Contacts&#x22;,&#x22;scopes&#x22;:[&#x22;contacts&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_get_contact&#x22;,&#x22;label&#x22;:&#x22;Get A Single Contact&#x22;,&#x22;scopes&#x22;:[&#x22;contacts&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_create_contact&#x22;,&#x22;label&#x22;:&#x22;Create A New Contact&#x22;,&#x22;scopes&#x22;:[&#x22;contacts&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_update_contact&#x22;,&#x22;label&#x22;:&#x22;Update A Contact&#x22;,&#x22;scopes&#x22;:[&#x22;contacts&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_delete_contact&#x22;,&#x22;label&#x22;:&#x22;Delete A Contact&#x22;,&#x22;scopes&#x22;:[&#x22;contacts&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_list_deals&#x22;,&#x22;label&#x22;:&#x22;List Deals&#x22;,&#x22;scopes&#x22;:[&#x22;deals&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_get_deal&#x22;,&#x22;label&#x22;:&#x22;Get A Single Deal&#x22;,&#x22;scopes&#x22;:[&#x22;deals&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_create_deal&#x22;,&#x22;label&#x22;:&#x22;Create A New Deal&#x22;,&#x22;scopes&#x22;:[&#x22;deals&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_update_deal&#x22;,&#x22;label&#x22;:&#x22;Update A Deal&#x22;,&#x22;scopes&#x22;:[&#x22;deals&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_delete_deal&#x22;,&#x22;label&#x22;:&#x22;Delete A Deal&#x22;,&#x22;scopes&#x22;:[&#x22;deals&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_win_deal&#x22;,&#x22;label&#x22;:&#x22;Mark Deal As Won&#x22;,&#x22;scopes&#x22;:[&#x22;deals&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_lose_deal&#x22;,&#x22;label&#x22;:&#x22;Mark Deal As Lost&#x22;,&#x22;scopes&#x22;:[&#x22;deals&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_list_quotations&#x22;,&#x22;label&#x22;:&#x22;List Quotations&#x22;,&#x22;scopes&#x22;:[&#x22;quotations&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_get_quotation&#x22;,&#x22;label&#x22;:&#x22;Get A Single Quotation&#x22;,&#x22;scopes&#x22;:[&#x22;quotations&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_create_quotation&#x22;,&#x22;label&#x22;:&#x22;Create A New Quotation&#x22;,&#x22;scopes&#x22;:[&#x22;quotations&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_update_quotation&#x22;,&#x22;label&#x22;:&#x22;Update A Quotation&#x22;,&#x22;scopes&#x22;:[&#x22;quotations&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_delete_quotation&#x22;,&#x22;label&#x22;:&#x22;Delete A Quotation&#x22;,&#x22;scopes&#x22;:[&#x22;quotations&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_send_quotation&#x22;,&#x22;label&#x22;:&#x22;Send A Quotation&#x22;,&#x22;scopes&#x22;:[&#x22;quotations&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_accept_quotation&#x22;,&#x22;label&#x22;:&#x22;Mark Quotation As Accepted&#x22;,&#x22;scopes&#x22;:[&#x22;quotations&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_list_invoices&#x22;,&#x22;label&#x22;:&#x22;List Invoices&#x22;,&#x22;scopes&#x22;:[&#x22;invoices&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_get_invoice&#x22;,&#x22;label&#x22;:&#x22;Get A Single Invoice&#x22;,&#x22;scopes&#x22;:[&#x22;invoices&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_create_invoice_draft&#x22;,&#x22;label&#x22;:&#x22;Create A Draft Invoice&#x22;,&#x22;scopes&#x22;:[&#x22;invoices&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_update_invoice&#x22;,&#x22;label&#x22;:&#x22;Update A Draft Invoice&#x22;,&#x22;scopes&#x22;:[&#x22;invoices&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_delete_invoice&#x22;,&#x22;label&#x22;:&#x22;Delete An Invoice&#x22;,&#x22;scopes&#x22;:[&#x22;invoices&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_book_invoice&#x22;,&#x22;label&#x22;:&#x22;Book A Draft Invoice&#x22;,&#x22;scopes&#x22;:[&#x22;invoices&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_send_invoice&#x22;,&#x22;label&#x22;:&#x22;Send An Invoice&#x22;,&#x22;scopes&#x22;:[&#x22;invoices&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_register_invoice_payment&#x22;,&#x22;label&#x22;:&#x22;Register A Payment For An Invoice&#x22;,&#x22;scopes&#x22;:[&#x22;invoices&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_list_tasks&#x22;,&#x22;label&#x22;:&#x22;List Tasks&#x22;,&#x22;scopes&#x22;:[&#x22;todos&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_get_task&#x22;,&#x22;label&#x22;:&#x22;Get A Single Task&#x22;,&#x22;scopes&#x22;:[&#x22;todos&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_create_task&#x22;,&#x22;label&#x22;:&#x22;Create A New Task&#x22;,&#x22;scopes&#x22;:[&#x22;todos&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_update_task&#x22;,&#x22;label&#x22;:&#x22;Update A Task&#x22;,&#x22;scopes&#x22;:[&#x22;todos&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_delete_task&#x22;,&#x22;label&#x22;:&#x22;Delete A Task&#x22;,&#x22;scopes&#x22;:[&#x22;todos&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_complete_task&#x22;,&#x22;label&#x22;:&#x22;Mark Task As Complete&#x22;,&#x22;scopes&#x22;:[&#x22;todos&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_list_events&#x22;,&#x22;label&#x22;:&#x22;List Calendar Events&#x22;,&#x22;scopes&#x22;:[&#x22;events&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_get_event&#x22;,&#x22;label&#x22;:&#x22;Get A Single Calendar Event&#x22;,&#x22;scopes&#x22;:[&#x22;events&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_create_event&#x22;,&#x22;label&#x22;:&#x22;Create A New Calendar Event&#x22;,&#x22;scopes&#x22;:[&#x22;events&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_update_event&#x22;,&#x22;label&#x22;:&#x22;Update A Calendar Event&#x22;,&#x22;scopes&#x22;:[&#x22;events&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_cancel_event&#x22;,&#x22;label&#x22;:&#x22;Cancel A Calendar Event&#x22;,&#x22;scopes&#x22;:[&#x22;events&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_list_tickets&#x22;,&#x22;label&#x22;:&#x22;List Tickets&#x22;,&#x22;scopes&#x22;:[&#x22;tickets&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_get_ticket&#x22;,&#x22;label&#x22;:&#x22;Get A Single Ticket&#x22;,&#x22;scopes&#x22;:[&#x22;tickets&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_create_ticket&#x22;,&#x22;label&#x22;:&#x22;Create A Ticket&#x22;,&#x22;scopes&#x22;:[&#x22;tickets&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_update_ticket&#x22;,&#x22;label&#x22;:&#x22;Update A Ticket&#x22;,&#x22;scopes&#x22;:[&#x22;tickets&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_get_current_user&#x22;,&#x22;label&#x22;:&#x22;Get The Authenticated User&#x22;,&#x22;scopes&#x22;:[&#x22;users&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_list_users&#x22;,&#x22;label&#x22;:&#x22;List Users&#x22;,&#x22;scopes&#x22;:[&#x22;users&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_get_user&#x22;,&#x22;label&#x22;:&#x22;Get A Single User&#x22;,&#x22;scopes&#x22;:[&#x22;users&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_list_departments&#x22;,&#x22;label&#x22;:&#x22;List Departments&#x22;,&#x22;scopes&#x22;:[&#x22;departments&#x22;]},{&#x22;id&#x22;:&#x22;teamleader_get_department&#x22;,&#x22;label&#x22;:&#x22;Get A Single Department&#x22;,&#x22;scopes&#x22;:[&#x22;departments&#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 the integration on the Teamleader Marketplace</h2>

  <p>Register an OAuth integration on the Teamleader Marketplace and pre-select the scopes the connector needs.</p>

  <Steps>
    <Step title="Sign in to the Teamleader Marketplace">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to the <a href="https://marketplace.focus.teamleader.eu/build" target="_blank" rel="noopener noreferrer">Teamleader Marketplace build page</a>.</p>

        <ul>
          <li>Click <strong>Build</strong> > <strong>New integration</strong>.</li>
        </ul>
      </div>
    </Step>

    <Step title="Configure the redirect URL">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Add the StackOne callback URL to the whitelist.</p>

        <ul>
          <li>Redirect URL: `https://api.stackone.com/connect/oauth2/teamleader/callback`</li>
          <li>Teamleader rejects any redirect URI that is not exactly on the whitelist.</li>
        </ul>
      </div>
    </Step>

    <Step title="Pre-select scopes">
      <div data-guide-step data-guide-scopes="companies,contacts,deals,departments,events,invoices,quotations,tickets,todos,users,webhooks" data-guide-display-scopes-list="companies,contacts,deals,departments,events,invoices,quotations,tickets,todos,users,webhooks">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="companies,contacts,deals,departments,events,invoices,quotations,tickets,todos,users,webhooks" 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>Book A Draft Invoice, Cancel A Calendar Event, Create A Draft Invoice, Create A New Calendar Event, Create A New Company, Create A New Contact, Create A New Deal, Create A New Quotation, Create A New Task, Create A Ticket, Delete A Company, Delete A Contact, Delete A Deal, Delete A Quotation, Delete A Task, Delete An Invoice, Get A Single Calendar Event, Get A Single Company, Get A Single Contact, Get A Single Deal, Get A Single Department, Get A Single Invoice, Get A Single Quotation, Get A Single Task, Get A Single Ticket, Get A Single User, Get The Authenticated User, List Calendar Events, List Companies, List Contacts, List Deals, List Departments, List Invoices, List Quotations, List Tasks, List Tickets, List Users, Mark Deal As Lost, Mark Deal As Won, Mark Quotation As Accepted, Mark Task As Complete, Register A Payment For An Invoice, Send A Quotation, Send An Invoice, Update A Calendar Event, Update A Company, Update A Contact, Update A Deal, Update A Draft Invoice, Update A Quotation, Update A Task, Update A Ticket</span>
        </div>

        <p>Teamleader access tokens only include scopes that were pre-selected on the integration page; there is no separate `scope` parameter on the authorize URL. Tick every scope the connector will need.</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="companies">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy companies" title="Copy scope" data-copy="companies">
                  <span className="connector-guide-scope-copy__label">companies</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="contacts">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy contacts" title="Copy scope" data-copy="contacts">
                  <span className="connector-guide-scope-copy__label">contacts</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="deals">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy deals" title="Copy scope" data-copy="deals">
                  <span className="connector-guide-scope-copy__label">deals</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">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy departments" title="Copy scope" data-copy="departments">
                  <span className="connector-guide-scope-copy__label">departments</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="events">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy events" title="Copy scope" data-copy="events">
                  <span className="connector-guide-scope-copy__label">events</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="invoices">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy invoices" title="Copy scope" data-copy="invoices">
                  <span className="connector-guide-scope-copy__label">invoices</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="quotations">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy quotations" title="Copy scope" data-copy="quotations">
                  <span className="connector-guide-scope-copy__label">quotations</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="tickets">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy tickets" title="Copy scope" data-copy="tickets">
                  <span className="connector-guide-scope-copy__label">tickets</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="todos">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy todos" title="Copy scope" data-copy="todos">
                  <span className="connector-guide-scope-copy__label">todos</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="users">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy users" title="Copy scope" data-copy="users">
                  <span className="connector-guide-scope-copy__label">users</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="webhooks">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy webhooks" title="Copy scope" data-copy="webhooks">
                  <span className="connector-guide-scope-copy__label">webhooks</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>

    <Step title="Save the integration">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Save the integration to generate credentials.</p>

        <ul>
          <li>Click <strong>Save</strong> to register the integration.</li>
          <li>Copy the <strong>Client ID</strong> and <strong>Client Secret</strong> and store them securely for use later.</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

## Creating the StackOne Connector Profile

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