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

# Sanity

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

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

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

## Authentication

<Columns cols={2}>
  <Card title="API Token">
    Connect with a Sanity project robot token (project > API > Tokens) using the Developer permission, which grants access t...

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

  <Card title="OAuth 2.0">
    Recommended for multi-user apps acting on behalf of Sanity users. Requires OAuth client credentials that Sanity provisio...

    Guides: [Connector Profile](/connectors/sanity/guides/connector-profile/oauth-2-0), [Link Account](/connectors/sanity/guides/link-account/oauth-2-0)
  </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>33 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="sanity_query_documents" data-action-label="Query Documents" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Query Documents</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_query_documents" aria-label="Copy sanity_query_documents"><code className="connector-page-code">sanity\_query\_documents</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Query documents with GROQ</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get a document by ID</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_mutate_documents" data-action-label="Mutate Documents" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Mutate Documents</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_mutate_documents" aria-label="Copy sanity_mutate_documents"><code className="connector-page-code">sanity\_mutate\_documents</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create, update, patch or delete documents</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Export all documents in a dataset</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get the revision history of a document</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_upload_image_asset" data-action-label="Upload Image Asset" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Upload Image Asset</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_upload_image_asset" aria-label="Copy sanity_upload_image_asset"><code className="connector-page-code">sanity\_upload\_image\_asset</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Upload an image asset</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_upload_file_asset" data-action-label="Upload File Asset" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Upload File Asset</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_upload_file_asset" aria-label="Copy sanity_upload_file_asset"><code className="connector-page-code">sanity\_upload\_file\_asset</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Upload a file asset</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_link_media_library_asset" data-action-label="Link Media Library Asset" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Link Media Library Asset</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_link_media_library_asset" aria-label="Copy sanity_link_media_library_asset"><code className="connector-page-code">sanity\_link\_media\_library\_asset</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Link a Media Library asset into a dataset</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List projects</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get a project by ID</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List datasets</div>
      </div>

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

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

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Update a dataset</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_delete_dataset" data-action-label="Delete Dataset" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Delete Dataset</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_delete_dataset" aria-label="Copy sanity_delete_dataset"><code className="connector-page-code">sanity\_delete\_dataset</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Delete a dataset</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_copy_dataset" data-action-label="Copy Dataset" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Copy Dataset</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_copy_dataset" aria-label="Copy sanity_copy_dataset"><code className="connector-page-code">sanity\_copy\_dataset</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Copy a dataset</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_list_dataset_copy_jobs" data-action-label="List Dataset Copy Jobs" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>List Dataset Copy Jobs</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_list_dataset_copy_jobs" aria-label="Copy sanity_list_dataset_copy_jobs"><code className="connector-page-code">sanity\_list\_dataset\_copy\_jobs</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List dataset copy jobs</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_list_dataset_tags" data-action-label="List Dataset Tags" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>List Dataset Tags</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_list_dataset_tags" aria-label="Copy sanity_list_dataset_tags"><code className="connector-page-code">sanity\_list\_dataset\_tags</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List tags assigned to a dataset</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create a project tag</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Update a project tag</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Delete a project tag</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_assign_tag_to_dataset" data-action-label="Assign Tag To Dataset" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Assign Tag To Dataset</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_assign_tag_to_dataset" aria-label="Copy sanity_assign_tag_to_dataset"><code className="connector-page-code">sanity\_assign\_tag\_to\_dataset</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Assign a tag to a dataset</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_remove_tag_from_dataset" data-action-label="Remove Tag From Dataset" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Remove Tag From Dataset</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_remove_tag_from_dataset" aria-label="Copy sanity_remove_tag_from_dataset"><code className="connector-page-code">sanity\_remove\_tag\_from\_dataset</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Remove a tag from a dataset</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_list_access_users" data-action-label="List Access Users" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>List Access Users</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_list_access_users" aria-label="Copy sanity_list_access_users"><code className="connector-page-code">sanity\_list\_access\_users</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List users and their roles</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get a user and their roles</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_replace_user_roles" data-action-label="Replace User Roles" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Replace User Roles</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_replace_user_roles" aria-label="Copy sanity_replace_user_roles"><code className="connector-page-code">sanity\_replace\_user\_roles</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Replace the set of roles assigned to a user</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_list_access_permissions" data-action-label="List Permissions" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>List Permissions</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_list_access_permissions" aria-label="Copy sanity_list_access_permissions"><code className="connector-page-code">sanity\_list\_access\_permissions</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List available permissions</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get a permission by name</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List assignable roles</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get a role by name</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List invites for a resource</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Invite a user to a resource</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_revoke_invite" data-action-label="Revoke Invite" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Revoke Invite</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_revoke_invite" aria-label="Copy sanity_revoke_invite"><code className="connector-page-code">sanity\_revoke\_invite</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Revoke an invite</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="sanity_list_access_requests" data-action-label="List Access Requests" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>List Access Requests</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="sanity_list_access_requests" aria-label="Copy sanity_list_access_requests"><code className="connector-page-code">sanity\_list\_access\_requests</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List access requests for the project</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/sanity/guides/connector-profile/api-token" icon="https://stackone-logos.com/api/sanity/filled/png" horizontal>
        Sanity - API Token
      </Card>

      <Card title="Connector Profile" href="/connectors/sanity/guides/connector-profile/oauth-2-0" icon="https://stackone-logos.com/api/sanity/filled/png" horizontal>
        Sanity - OAuth 2.0
      </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/sanity/guides/link-account/api-token" icon="https://stackone-logos.com/api/sanity/filled/png" horizontal>
        Sanity - API Token
      </Card>

      <Card title="Link Account" href="/connectors/sanity/guides/link-account/oauth-2-0" icon="https://stackone-logos.com/api/sanity/filled/png" horizontal>
        Sanity - OAuth 2.0
      </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>
