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

# Expensify

> 17 actions available for Expensify 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/expensify/filled/png" alt="Expensify" className="connector-page-icon" style={{ width: '48px', height: '48px', borderRadius: '10px', padding: '2px' }} />

  <div>
    <div style={{ fontSize: '24px', fontWeight: '600' }}>Expensify</div>
    <div className="connector-page-subtitle" style={{ fontSize: '14px' }}>17 actions · 1 auth method</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>
    </div>
  </div>
</div>

## Authentication

<Columns cols={2}>
  <Card title="Partner User ID and Secret">
    Uses a Partner User ID and Partner User Secret pair generated from the Expensify Integrations page. No app registration...

    Guides: [Connector Profile](/connectors/expensify/guides/connector-profile/partner-user-id-and-secret), [Link Account](/connectors/expensify/guides/link-account/partner-user-id-and-secret)
  </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>
  </div>

  <div className="meta-library-count" data-connector-actions-count>17 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="expensify_list_policies" data-action-label="List Policies" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>List Policies</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_list_policies" aria-label="Copy expensify_list_policies"><code className="connector-page-code">expensify\_list\_policies</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve all Expensify policies (workspaces) accessible to the authenticated user, including policy details, roles, and...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_get_policy" data-action-label="Get Policy" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Policy</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_get_policy" aria-label="Copy expensify_get_policy"><code className="connector-page-code">expensify\_get\_policy</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve detailed policy configuration for one or more policies, including expense categories, tags, custom report field...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_create_policy" data-action-label="Create Policy" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Policy</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_create_policy" aria-label="Copy expensify_create_policy"><code className="connector-page-code">expensify\_create\_policy</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Provision a new Expensify expense policy (workspace) with specified name and plan type for organizing expense management...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_update_policy_category" data-action-label="Update Policy Category" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Update Policy Category</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_update_policy_category" aria-label="Copy expensify_update_policy_category"><code className="connector-page-code">expensify\_update\_policy\_category</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Add, update, or replace expense categories on a policy with configurable merge or replace strategy for granular category...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_update_policy_tag" data-action-label="Replace Policy Tags" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Replace Policy Tags</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_update_policy_tag" aria-label="Copy expensify_update_policy_tag"><code className="connector-page-code">expensify\_update\_policy\_tag</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">DESTRUCTIVE FULL REPLACE — overwrites the entire tag level on an Expensify policy with only the tags provided. Existing...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_update_policy_report_field" data-action-label="Update Policy Report Field" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Update Policy Report Field</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_update_policy_report_field" aria-label="Copy expensify_update_policy_report_field"><code className="connector-page-code">expensify\_update\_policy\_report\_field</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Add or update custom report field definitions on a policy for structured expense report data collection</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_export_reports" data-action-label="Export Reports" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Export Reports</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_export_reports" aria-label="Copy expensify_export_reports"><code className="connector-page-code">expensify\_export\_reports</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Generate CSV export of approved expense reports with transaction details for accounting integration, audit compliance, a...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_download_report" data-action-label="Download Report" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Download Report</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_download_report" aria-label="Copy expensify_download_report"><code className="connector-page-code">expensify\_download\_report</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve CSV file content for previously generated expense report or reconciliation exports to complete data extraction...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_create_report" data-action-label="Create Report" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Report</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_create_report" aria-label="Copy expensify_create_report"><code className="connector-page-code">expensify\_create\_report</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Programmatically create expense reports with initial expense transactions in user accounts for automated expense submiss...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_update_report_status" data-action-label="Update Report Status" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Update Report Status</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_update_report_status" aria-label="Copy expensify_update_report_status"><code className="connector-page-code">expensify\_update\_report\_status</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Update expense report status to mark approved reports as reimbursed for automated reimbursement workflow completion and...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_create_expense" data-action-label="Create Expense" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Expense</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_create_expense" aria-label="Copy expensify_create_expense"><code className="connector-page-code">expensify\_create\_expense</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Programmatically create individual expense transactions in user accounts for automated expense importing from external s...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_create_expense_rule" data-action-label="Create Expense Rule" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Create Expense Rule</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_create_expense_rule" aria-label="Copy expensify_create_expense_rule"><code className="connector-page-code">expensify\_create\_expense\_rule</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Automate expense classification by creating rules that automatically apply tags to employee expenses based on policy con...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_update_expense_rule" data-action-label="Update Expense Rule" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Update Expense Rule</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_update_expense_rule" aria-label="Copy expensify_update_expense_rule"><code className="connector-page-code">expensify\_update\_expense\_rule</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Update an existing expense rule for a given employee on a policy to modify automatic tag or billable settings</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_export_reconciliation" data-action-label="Export Card Reconciliation" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Export Card Reconciliation</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_export_reconciliation" aria-label="Copy expensify_export_reconciliation"><code className="connector-page-code">expensify\_export\_reconciliation</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Generate comprehensive corporate card reconciliation reports for specified date ranges to compare card transactions with...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_update_employee" data-action-label="Update Employee" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Update Employee</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_update_employee" aria-label="Copy expensify_update_employee"><code className="connector-page-code">expensify\_update\_employee</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Update an existing employee's record in an Expensify policy — sets approval hierarchy, role, external ID, and other fiel...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_list_domain_cards" data-action-label="List Domain Cards" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>List Domain Cards</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_list_domain_cards" aria-label="Copy expensify_list_domain_cards"><code className="connector-page-code">expensify\_list\_domain\_cards</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve comprehensive inventory of corporate cards configured at domain level with transaction import status and cardho...</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="expensify_update_tag_approver" data-action-label="Update Tag Approver" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Update Tag Approver</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="expensify_update_tag_approver" aria-label="Copy expensify_update_tag_approver"><code className="connector-page-code">expensify\_update\_tag\_approver</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Configure tag-based approval routing to automatically route expenses with specific tags to designated approvers for depa...</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/expensify/guides/connector-profile/partner-user-id-and-secret" icon="https://stackone-logos.com/api/expensify/filled/png" horizontal>
        Expensify - Partner User ID and Secret
      </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/expensify/guides/link-account/partner-user-id-and-secret" icon="https://stackone-logos.com/api/expensify/filled/png" horizontal>
        Expensify - Partner User ID and Secret
      </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>
