> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tightknit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# AI at Tightknit

> The AI-powered features in Tightknit, the models behind them, and how to control them.

export const PlanAvailability = ({feature = 'This feature', plan = 'enterprise', addon = false, plural = false, support = false, growth, momentum, enterprise, children}) => {
  const rank = {
    growth: 0,
    momentum: 1,
    enterprise: 2
  };
  const normalize = value => {
    if (value === true || value === 'included' || value === 'yes') {
      return 'included';
    }
    if (value === 'addon') {
      return 'addon';
    }
    return 'none';
  };
  const defaultStatus = p => {
    if (rank[p] < rank[plan]) {
      return 'none';
    }
    return addon ? 'addon' : 'included';
  };
  const overrides = {
    growth,
    momentum,
    enterprise
  };
  const status = p => overrides[p] === undefined ? defaultStatus(p) : normalize(overrides[p]);
  const plans = [{
    key: 'growth',
    label: 'Growth'
  }, {
    key: 'momentum',
    label: 'Momentum'
  }, {
    key: 'enterprise',
    label: 'Enterprise'
  }];
  const included = plans.filter(p => status(p.key) === 'included');
  const asAddon = plans.filter(p => status(p.key) === 'addon');
  const verb = plural ? 'are' : 'is';
  const srSentence = [feature, verb, 'available on:', included.map(p => `${p.label} plan`).join(', ') || 'no plans', asAddon.length > 0 ? `; as an add-on: ${asAddon.map(p => `${p.label} plan`).join(', ')}` : ''].join(' ');
  const statusCell = s => {
    if (s === 'included') {
      return <svg className="plan-availability-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
          <path d="M20 6 9 17l-5-5" />
        </svg>;
    }
    if (s === 'addon') {
      return <span className="plan-availability-addon">Add-on</span>;
    }
    return <span className="plan-availability-none">—</span>;
  };
  return <div className="plan-availability">
      <span className="plan-availability-sr">{srSentence}</span>
      <div className="plan-availability-content" aria-hidden="true">
        <div className="plan-availability-feature">{feature}</div>
        {(support || children) && <div className="plan-availability-body">
            {support && <>
                Contact <a href="mailto:support@tightknit.ai">Support</a> if you
                don't see this option or want to enable it for your community.
              </>}
            {children && <> {children}</>}
          </div>}
      </div>
      <div className="plan-availability-matrix" aria-hidden="true">
        {plans.map(p => <div className="plan-availability-plan" key={p.key}>
            <span className="plan-availability-plan-name">{p.label}</span>
            {statusCell(status(p.key))}
          </div>)}
      </div>
    </div>;
};

Tightknit uses AI to surface the knowledge already inside your community. AI reads the content that syncs from Slack and your community site, then helps members find related conversations, get answers to repeated questions, and land on posts with clear, searchable titles.

This page lists the AI-powered features, the models behind them, and how to turn each one on or off. Every feature follows the controls described in [Data Security & Privacy](/security/data#ai-privacy): customer data is never used to train models, and personal information is scrubbed before any content is sent to a model.

## What AI enables

<CardGroup cols={2}>
  <Card title="Related Discussions" icon="diagram-project" href="/channels-and-feeds/agent-settings#related-discussions-agent">
    Finds earlier conversations related to a new message and replies with links to them.
  </Card>

  <Card title="AI Answers" icon="robot" href="/channels-and-feeds/agent-settings">
    Answers repeated questions using prior discussions in your community as grounding.
  </Card>

  <Card title="AI post titles" icon="heading" href="/channels-and-feeds/create-feed">
    Generates a concise, SEO-friendly title for posts synced to the community site.
  </Card>

  <Card title="Semantic search" icon="magnifying-glass" href="/community-site/overview">
    Ranks community site search results by meaning, not just keyword matches.
  </Card>
</CardGroup>

### Related Discussions

<PlanAvailability feature="Related Discussions agent" plan="momentum" />

When a new message is posted in a channel, Tightknit compares it against earlier messages in the same channel and replies with links to the most closely related discussions. Matches are ranked by meaning rather than exact wording, so members find prior context even when they phrase things differently.

The agent only returns results when the community has an active community site and the related messages have posts on that site. See [Agent Settings](/channels-and-feeds/agent-settings#related-discussions-agent) to enable and customize it.

### AI Answers

When a member asks a question that the community has answered before, the AI Answers agent drafts a reply grounded in those prior discussions and posts it in the thread. Answers are constrained to the surrounding community content, so responses stay specific to your community instead of drawing on general knowledge.

<Note>
  AI Answers is available to pilot participants only and is off by default. Contact [Support](mailto:support@tightknit.ai) if you'd like to join the pilot.
</Note>

### AI post titles

When Slack content syncs to the community site as a post, Tightknit generates a short, descriptive title so the post reads well and ranks better in search. If a message already has a header, that header is used as the title instead. AI title generation is enabled per feed and can be turned off in the [Feed settings](/channels-and-feeds/create-feed#feed-settings).

### Semantic search

Community site search combines traditional keyword matching with semantic matching, so results reflect what a query means and not only the words it contains. This applies to posts, comments, and content resource library items.

## Models

Tightknit runs AI features on third-party models from OpenAI, accessed under agreements that prohibit training on customer data.

| Capability      | What it powers                                             | Model                                             |
| --------------- | ---------------------------------------------------------- | ------------------------------------------------- |
| Text generation | AI Answers, AI post titles, generated community guidelines | OpenAI GPT-4.1 family                             |
| Text embeddings | Related Discussions, semantic search                       | OpenAI `text-embedding-ada-002` (1536 dimensions) |

<Info>
  We are upgrading the embeddings model to OpenAI `text-embedding-3-large`. Semantic features stay available throughout the migration, and no action is required from your community.
</Info>

## Controlling AI features

You decide which AI features run in your community. The agents are opt-in and off by default, while AI post titles are on by default and can be turned off per feed.

| Feature             | Default | Where to change it                                                      |
| ------------------- | ------- | ----------------------------------------------------------------------- |
| Related Discussions | Off     | [Agent Settings](/channels-and-feeds/agent-settings) per channel        |
| AI Answers          | Off     | Pilot only — contact [Support](mailto:support@tightknit.ai)             |
| AI post titles      | On      | [Feed settings](/channels-and-feeds/create-feed#feed-settings) per feed |

New agentic features are introduced as opt-in, so they never act in your community until you turn them on.

## Privacy and data handling

AI features follow the same controls as the rest of the platform:

* Customer data is never used to train, fine-tune, or adapt any model.
* Personal information is scrubbed from content before it is sent to a model.
* Third-party models are accessed under inference-only, training-disabled agreements.

For the full policy, see [Data Security & Privacy](/security/data#ai-privacy).


## Related topics

- [Security at Tightknit](/security/overview.md)
- [Tightknit Data Security & Privacy](/security/data.md)
- [MCP Server](/integrations/mcp.md)
- [Vulnerability Disclosure Policy](/security/vulnerability-disclosure.md)
- [Troubleshooting](/support/troubleshooting.md)
