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

# Discourse

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

  <div>
    <div style={{ fontSize: '24px', fontWeight: '600' }}>Discourse</div>
    <div className="connector-page-subtitle" style={{ fontSize: '14px' }}>67 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="API Key">
    Generate an API key from your Discourse admin panel to authenticate requests. You will also need a username (typically s...

    Guides: [Connector Profile](/connectors/discourse/guides/connector-profile/api-key), [Link Account](/connectors/discourse/guides/link-account/api-key)
  </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>67 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="discourse_list_badges" data-action-label="List Badges" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>List Badges</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="discourse_list_badges" aria-label="Copy discourse_list_badges"><code className="connector-page-code">discourse\_list\_badges</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List all badges available in the Discourse instance (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create a new custom badge (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Update the settings of an existing badge (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Permanently delete a badge (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get all badges earned by a specific user.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List all topic categories in the Discourse instance.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve a single category by its ID.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get all topics in a specific category.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create a new topic category (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Update the settings or metadata of an existing category (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List all groups in the Discourse instance.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve details about a specific group by its name.</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="discourse_get_group_by_id" data-action-label="Get Group By ID" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Group By ID</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="discourse_get_group_by_id" aria-label="Copy discourse_get_group_by_id"><code className="connector-page-code">discourse\_get\_group\_by\_id</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve details about a specific group by its numeric ID.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get all members of a specific group.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create a new user group in Discourse (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Update the settings or metadata of an existing group.</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="discourse_add_group_members" data-action-label="Add Group Members" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Add Group Members</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="discourse_add_group_members" aria-label="Copy discourse_add_group_members"><code className="connector-page-code">discourse\_add\_group\_members</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Add one or more users to a group.</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="discourse_remove_group_members" data-action-label="Remove Group Members" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Remove Group Members</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="discourse_remove_group_members" aria-label="Copy discourse_remove_group_members"><code className="connector-page-code">discourse\_remove\_group\_members</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Remove one or more users from a group.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Permanently delete a group (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List notifications for the currently authenticated user.</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="discourse_mark_notifications_read" data-action-label="Mark Notifications Read" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Mark Notifications Read</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="discourse_mark_notifications_read" aria-label="Copy discourse_mark_notifications_read"><code className="connector-page-code">discourse\_mark\_notifications\_read</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Mark one or all notifications as read for the authenticated user.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get the latest posts from across all topics in the forum.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create a new reply in an existing topic, or create a new topic with an initial post.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve a single post by its ID.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Edit the Markdown content of an existing post.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Delete a post from a topic.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get all direct replies to a specific post.</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="discourse_lock_post" data-action-label="Lock Post" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Lock Post</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="discourse_lock_post" aria-label="Copy discourse_lock_post"><code className="connector-page-code">discourse\_lock\_post</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Lock or unlock a post to prevent or allow editing.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Perform an action on a post such as liking, bookmarking, or flagging.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get private messages received by a specific user.</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="discourse_list_sent_private_messages" data-action-label="List Sent Private Messages" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>List Sent Private Messages</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="discourse_list_sent_private_messages" aria-label="Copy discourse_list_sent_private_messages"><code className="connector-page-code">discourse\_list\_sent\_private\_messages</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get private messages sent by a specific user.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Send a private message to one or more users or groups.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Search for topics, posts, users, and categories across the Discourse forum.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve full site configuration and metadata for the Discourse instance.</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="discourse_get_site_basic_info" data-action-label="Get Site Basic Info" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get Site Basic Info</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="discourse_get_site_basic_info" aria-label="Copy discourse_get_site_basic_info"><code className="connector-page-code">discourse\_get\_site\_basic\_info</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve basic public information about the Discourse instance.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve public site statistics and staff information.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List all tags used in the Discourse forum.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve details and topics for a specific tag.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List all tag groups defined in the Discourse instance.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve a specific tag group by its ID.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create a new tag group to organize related tags (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Update the name or tags of an existing tag group (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get the latest topics from the Discourse forum, sorted by recent activity.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get the top-ranked topics filtered by time period from the Discourse forum.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve a single topic and its posts by topic ID.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Update the title, category, or tags of an existing topic.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Delete a topic and all its posts (admin or moderator only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Enable or disable a status flag on a topic (close, pin, archive, hide, etc.).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Schedule an automatic action on a topic at a future date and time.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve specific posts from a topic by their post IDs.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create a new topic in the Discourse forum.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List all users in the Discourse instance (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">List users filtered by account status flag (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve a user's public profile by their username.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve a user's full details by their numeric ID (admin only).</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="discourse_create_user" data-action-label="Create User" data-action-scopes="">
        <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="discourse_create_user" aria-label="Copy discourse_create_user"><code className="connector-page-code">discourse\_create\_user</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Create a new user account in the Discourse instance.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Update a user's profile information.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Activate a pending user account (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Deactivate a user account to prevent them from logging in (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Suspend a user account until a specified date (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Permanently delete a user account (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Get a list of actions performed by a specific user.</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve the email addresses associated with a user account (admin only).</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="discourse_log_out_user" data-action-label="Log Out User" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Log Out User</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="discourse_log_out_user" aria-label="Copy discourse_log_out_user"><code className="connector-page-code">discourse\_log\_out\_user</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Force-log out a user's current session (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Silence a user to prevent them from posting without fully suspending their account (admin only).</div>
      </div>

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

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Permanently anonymize a user by replacing all identifying information with random values (admin only).</div>
      </div>

      <div className="connector-meta-library-row" data-action-id="discourse_get_user_by_external_id" data-action-label="Get User By External ID" data-action-scopes="">
        <div className="meta-library-grid-cell connector-meta-library-item-cell">
          <div style={{ fontWeight: '500' }}>Get User By External ID</div>
          <div style={{ marginTop: '4px' }}><button type="button" className="connector-page-code-button" data-copy="discourse_get_user_by_external_id" aria-label="Copy discourse_get_user_by_external_id"><code className="connector-page-code">discourse\_get\_user\_by\_external\_id</code></button></div>
        </div>

        <div className="meta-library-grid-cell meta-library-grid-cell--description">Retrieve a Discourse user by their external system ID (SSO/Discourse Connect lookup).</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/discourse/guides/connector-profile/api-key" icon="https://stackone-logos.com/api/discourse/filled/png" horizontal>
        Discourse - API Key
      </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/discourse/guides/link-account/api-key" icon="https://stackone-logos.com/api/discourse/filled/png" horizontal>
        Discourse - API Key
      </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>
