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

# Timesheet Portal

> 36 actions available for Timesheet Portal through StackOne. Use via Actions RPC, Toolset SDK, MCP, or A2A.

<div className="not-prose" style={{ display: 'flex', alignItems: 'center', gap: '12px', marginBottom: '24px' }}>
  <img src="https://stackone-logos.com/api/timesheetportal/filled/png" alt="Timesheet Portal" className="connector-page-icon" style={{ width: '48px', height: '48px', borderRadius: '10px', padding: '2px' }} />

  <div>
    <div style={{ fontSize: '24px', fontWeight: '600' }}>Timesheet Portal</div>
    <div className="connector-page-subtitle" style={{ fontSize: '14px' }}>36 actions · 2 auth methods</div>

    <div style={{ display: 'flex', flexWrap: 'wrap', gap: '6px', marginTop: '8px' }}>
      <span className="connector-page-tag-preview" style={{ display: 'inline-block', padding: '2px 8px', borderRadius: '4px', fontSize: '11px', fontWeight: '500' }}>Preview</span>
      <span className="connector-page-category-tag" style={{ display: 'inline-block', padding: '2px 8px', borderRadius: '4px', fontSize: '11px', fontWeight: '500' }}>Accounting</span>
    </div>
  </div>
</div>

## Authentication

<Columns cols={2}>
  <Card title="Email & Password (API Token)">
    Timesheet Portal issues a session API token from POST /token using the email and password of an API-authorised System Ad...

    Guides: [Connector Profile](/connectors/timesheetportal/guides/connector-profile/email-password-api-token), [Link Account](/connectors/timesheetportal/guides/link-account/email-password-api-token)
  </Card>

  <Card title="OAuth 2.0 (Client Credentials)">
    OAuth 2.0 Client Credentials. Generate a Client ID and Client Secret in Settings > Account > Account > API access (requi...

    Guides: [Connector Profile](/connectors/timesheetportal/guides/connector-profile/oauth-2-0-client-credentials), [Link Account](/connectors/timesheetportal/guides/link-account/oauth-2-0-client-credentials)
  </Card>
</Columns>

<div className="connector-meta-library-section">
  <div className="connector-meta-library-title">Actions</div>

  <div className="connector-actions-controls not-prose" data-connector-actions-controls>
    <div className="connector-actions-controls__row">
      <input type="search" className="connector-actions-search" data-connector-actions-search placeholder="Search actions" aria-label="Search actions" />

      <div className="connector-actions-scopes" data-connector-actions-auth>
        <button type="button" className="connector-actions-scopes__toggle" data-connector-actions-auth-toggle aria-expanded="false">
          <span>Authentication type<span data-connector-actions-auth-count /></span>
        </button>

        <div className="connector-actions-scopes__menu">
          <div className="connector-actions-scopes__header">
            <input type="search" className="connector-actions-scopes__search" data-connector-actions-auth-search placeholder="Search auth methods..." aria-label="Search auth methods" />

            <div className="connector-actions-scopes__actions">
              <button type="button" data-connector-actions-auth-select-all>Select all</button>
              <span>|</span>
              <button type="button" data-connector-actions-auth-clear>Clear</button>
            </div>
          </div>

          <label className="connector-actions-scopes__item">
            <input type="checkbox" value="Email & Password (API Token)" data-connector-actions-auth-filter />

            <span>Email & Password (API Token)</span>
          </label>

          <label className="connector-actions-scopes__item">
            <input type="checkbox" value="OAuth 2.0 (Client Credentials)" data-connector-actions-auth-filter />

            <span>OAuth 2.0 (Client Credentials)</span>
          </label>

          <div className="connector-actions-scopes__empty" data-connector-actions-auth-empty hidden>No auth methods found</div>
        </div>
      </div>
    </div>
  </div>

  <div className="meta-library-count" data-connector-actions-count>36 actions</div>

  <div className="not-prose meta-library-table-container" data-connector-actions-table>
    <div className="connector-meta-library-grid" style={{ gridTemplateColumns: '200px 1fr' }}>
      <div className="connector-meta-library-row">
        <div className="meta-library-grid-header-cell">Action</div>
        <div className="meta-library-grid-header-cell">Description</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_client_user" data-action-label="Create Client User" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Client User</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_client_user" aria-label="Copy timesheetportal_create_client_user"><code className="connector-page-code">timesheetportal\_create\_client\_user</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create Client User</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_clients" data-action-label="Get Clients" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Clients</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_clients" aria-label="Copy timesheetportal_get_clients"><code className="connector-page-code">timesheetportal\_get\_clients</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Clients</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_client" data-action-label="Create Client" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Client</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_client" aria-label="Copy timesheetportal_create_client"><code className="connector-page-code">timesheetportal\_create\_client</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create Client</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_cost_centres" data-action-label="Get Cost Centres" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Cost Centres</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_cost_centres" aria-label="Copy timesheetportal_get_cost_centres"><code className="connector-page-code">timesheetportal\_get\_cost\_centres</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Cost Centres</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_custom_fields" data-action-label="Get Custom Fields" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Custom Fields</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_custom_fields" aria-label="Copy timesheetportal_get_custom_fields"><code className="connector-page-code">timesheetportal\_get\_custom\_fields</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Custom Fields</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_expense_category" data-action-label="Create Expense Category" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Expense Category</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_expense_category" aria-label="Copy timesheetportal_create_expense_category"><code className="connector-page-code">timesheetportal\_create\_expense\_category</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create Expense Category</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_expense_entry" data-action-label="Get Expense Entries Report" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Expense Entries Report</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_expense_entry" aria-label="Copy timesheetportal_create_expense_entry"><code className="connector-page-code">timesheetportal\_create\_expense\_entry</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Expense Entries Report</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_expense_form" data-action-label="Get Expense Forms Report" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Expense Forms Report</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_expense_form" aria-label="Copy timesheetportal_create_expense_form"><code className="connector-page-code">timesheetportal\_create\_expense\_form</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Expense Forms Report</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_expense_receipt" data-action-label="Get Expense Receipt" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Expense Receipt</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_expense_receipt" aria-label="Copy timesheetportal_get_expense_receipt"><code className="connector-page-code">timesheetportal\_get\_expense\_receipt</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Expense Receipt</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_invoice_report" data-action-label="Get Invoice Report" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Invoice Report</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_invoice_report" aria-label="Copy timesheetportal_get_invoice_report"><code className="connector-page-code">timesheetportal\_get\_invoice\_report</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Invoice Report</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_invoice_report_v2" data-action-label="Get Invoice Report V2" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Invoice Report V2</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_invoice_report_v2" aria-label="Copy timesheetportal_get_invoice_report_v2"><code className="connector-page-code">timesheetportal\_get\_invoice\_report\_v2</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Invoice Report V2</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_invoice" data-action-label="Create Invoice" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Invoice</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_invoice" aria-label="Copy timesheetportal_create_invoice"><code className="connector-page-code">timesheetportal\_create\_invoice</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create Invoice</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_approve_invoices" data-action-label="Approve Invoices" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Approve Invoices</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_approve_invoices" aria-label="Copy timesheetportal_approve_invoices"><code className="connector-page-code">timesheetportal\_approve\_invoices</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Approve Invoices</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_email_invoices" data-action-label="Email Invoices" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Email Invoices</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_email_invoices" aria-label="Copy timesheetportal_email_invoices"><code className="connector-page-code">timesheetportal\_email\_invoices</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Email Invoices</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_export_invoices" data-action-label="Export Invoices" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Export Invoices</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_export_invoices" aria-label="Copy timesheetportal_export_invoices"><code className="connector-page-code">timesheetportal\_export\_invoices</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Export Invoices</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_leave_bookings_report" data-action-label="Get Leave Bookings Report" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Leave Bookings Report</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_leave_bookings_report" aria-label="Copy timesheetportal_get_leave_bookings_report"><code className="connector-page-code">timesheetportal\_get\_leave\_bookings\_report</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Leave Bookings Report</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_leave_bookings_summary" data-action-label="Get Leave Bookings Summary" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Leave Bookings Summary</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_leave_bookings_summary" aria-label="Copy timesheetportal_get_leave_bookings_summary"><code className="connector-page-code">timesheetportal\_get\_leave\_bookings\_summary</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Leave Bookings Summary</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_projects" data-action-label="Get Projects" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Projects</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_projects" aria-label="Copy timesheetportal_get_projects"><code className="connector-page-code">timesheetportal\_get\_projects</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Projects</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_project" data-action-label="Create Project" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Project</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_project" aria-label="Copy timesheetportal_create_project"><code className="connector-page-code">timesheetportal\_create\_project</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create Project</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_rate" data-action-label="Create Rate" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Rate</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_rate" aria-label="Copy timesheetportal_create_rate"><code className="connector-page-code">timesheetportal\_create\_rate</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create Rate</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_custom_reports" data-action-label="Get Custom Reports" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Custom Reports</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_custom_reports" aria-label="Copy timesheetportal_get_custom_reports"><code className="connector-page-code">timesheetportal\_get\_custom\_reports</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Custom Reports</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_report_fields" data-action-label="Get Report Fields" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Report Fields</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_report_fields" aria-label="Copy timesheetportal_get_report_fields"><code className="connector-page-code">timesheetportal\_get\_report\_fields</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Report Fields</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_builtin_report" data-action-label="Get Builtin Report" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Builtin Report</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_builtin_report" aria-label="Copy timesheetportal_get_builtin_report"><code className="connector-page-code">timesheetportal\_get\_builtin\_report</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Builtin Report</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_custom_report" data-action-label="Get Custom Report" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Custom Report</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_custom_report" aria-label="Copy timesheetportal_get_custom_report"><code className="connector-page-code">timesheetportal\_get\_custom\_report</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Custom Report</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_timesheets_report" data-action-label="Get Timesheets Report" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Timesheets Report</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_timesheets_report" aria-label="Copy timesheetportal_get_timesheets_report"><code className="connector-page-code">timesheetportal\_get\_timesheets\_report</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Timesheets Report</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_charge_codes" data-action-label="Get Charge Codes" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Charge Codes</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_charge_codes" aria-label="Copy timesheetportal_get_charge_codes"><code className="connector-page-code">timesheetportal\_get\_charge\_codes</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Charge Codes</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_charge_code" data-action-label="Create Charge Code" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Charge Code</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_charge_code" aria-label="Copy timesheetportal_create_charge_code"><code className="connector-page-code">timesheetportal\_create\_charge\_code</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create Charge Code</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_third_parties" data-action-label="Get Third Parties" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Third Parties</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_third_parties" aria-label="Copy timesheetportal_get_third_parties"><code className="connector-page-code">timesheetportal\_get\_third\_parties</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Third Parties</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_third_party" data-action-label="Create Third Party" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Third Party</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_third_party" aria-label="Copy timesheetportal_create_third_party"><code className="connector-page-code">timesheetportal\_create\_third\_party</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create Third Party</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_export_timesheets" data-action-label="Export Timesheets" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Export Timesheets</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_export_timesheets" aria-label="Copy timesheetportal_export_timesheets"><code className="connector-page-code">timesheetportal\_export\_timesheets</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Export Timesheets</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_login_token" data-action-label="Get Login Token" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Login Token</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_login_token" aria-label="Copy timesheetportal_get_login_token"><code className="connector-page-code">timesheetportal\_get\_login\_token</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Login Token</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_token" data-action-label="Get Token" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Token</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_token" aria-label="Copy timesheetportal_get_token"><code className="connector-page-code">timesheetportal\_get\_token</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Token</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_token" data-action-label="Create Token" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Token</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_token" aria-label="Copy timesheetportal_create_token"><code className="connector-page-code">timesheetportal\_create\_token</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create Token</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_get_users" data-action-label="Get Users" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Users</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_get_users" aria-label="Copy timesheetportal_get_users"><code className="connector-page-code">timesheetportal\_get\_users</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get Users</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_search_users" data-action-label="Search Users" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Search Users</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_search_users" aria-label="Copy timesheetportal_search_users"><code className="connector-page-code">timesheetportal\_search\_users</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Search Users</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="timesheetportal_create_user" data-action-label="Create User" data-action-scopes="" data-action-auth="Email & Password (API Token),OAuth 2.0 (Client Credentials)" data-action-auth-scopes="{&#x22;Email & Password (API Token)&#x22;:[],&#x22;OAuth 2.0 (Client Credentials)&#x22;:[]}">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create User</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="timesheetportal_create_user" aria-label="Copy timesheetportal_create_user"><code className="connector-page-code">timesheetportal\_create\_user</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create User</div>
      </div>
    </div>
  </div>
</div>

## Getting Started

<Steps>
  <Step title="Create or Select a Project">
    Set up a new project or select an existing one. See the [Projects Guide](/guides/managing-projects).
  </Step>

  <Step title="Configure the Connector">
    Enable the connector and set up a connector profile in your project. See [Managing Connectors](/guides/explore-connectors).

    <Columns cols={2}>
      <Card title="Connector Profile" href="/connectors/timesheetportal/guides/connector-profile/email-password-api-token" icon="https://stackone-logos.com/api/timesheetportal/filled/png" horizontal>
        Timesheet Portal - Email & Password (API Token)
      </Card>

      <Card title="Connector Profile" href="/connectors/timesheetportal/guides/connector-profile/oauth-2-0-client-credentials" icon="https://stackone-logos.com/api/timesheetportal/filled/png" horizontal>
        Timesheet Portal - OAuth 2.0 (Client Credentials)
      </Card>
    </Columns>
  </Step>

  <Step title="Link an Account">
    Connect an account using [StackOne Hub](/guides/embedding-stackone-hub) or [Auth Link](/guides/auth-link).

    <Columns cols={2}>
      <Card title="Link Account" href="/connectors/timesheetportal/guides/link-account/email-password-api-token" icon="https://stackone-logos.com/api/timesheetportal/filled/png" horizontal>
        Timesheet Portal - Email & Password (API Token)
      </Card>

      <Card title="Link Account" href="/connectors/timesheetportal/guides/link-account/oauth-2-0-client-credentials" icon="https://stackone-logos.com/api/timesheetportal/filled/png" horizontal>
        Timesheet Portal - OAuth 2.0 (Client Credentials)
      </Card>
    </Columns>
  </Step>

  <Step title="Use Actions">
    Invoke actions using one of the methods below:

    * [MCP](/mcp/quickstart) – Model Context Protocol for AI assistants
    * [A2A](/a2a/quickstart) – Agent-to-Agent protocol
    * [AI Toolset (TypeScript)](/agents/typescript/introduction) – TypeScript SDK for AI agents
    * [AI Toolset (Python)](/agents/python/introduction) – Python SDK for AI agents
    * [Actions RPC](/platform/api-reference/actions/make-an-rpc-call-to-an-action) – Direct API calls
    * [Playground](/guides/playground) – Test actions in the dashboard
  </Step>
</Steps>
