useAskContent lets users ask natural language questions and receive AI-generated answers grounded in your project’s actual content. The answer streams token by token via SSE, and once streaming completes, a list of source records is provided.
Usage Example
Parameters (ask function)
string
required
The natural language question to answer.
("entity" | "comment" | "message")[]
Limit the content types searched for context. Defaults to all types.
string
Scope the context lookup to a specific space.
boolean
default:"false"
Only applies with
spaceId. When true, the context lookup also covers every space nested under it — the whole subtree at any depth — so you can ask across a community and all of its channels at once. Ignored without spaceId.string
Scope the context lookup to a specific conversation.
number
Maximum number of source records to retrieve and use as context.
Returns
string
The AI-generated answer. Grows incrementally as tokens arrive during streaming.
ContentSearchResult[]
The source records that were used as context for the answer. Populated after streaming completes.
boolean
true while the SSE stream is open and tokens are arriving.boolean
true from when ask() is called until the first token arrives (or an error occurs).string | null
Error message if the request failed.
(props) => void
Initiates the AI question. Cancels any in-flight stream before starting a new one.
() => void
Aborts any in-flight stream and clears all state.
useAskContent uses the Fetch API with ReadableStream and TextDecoder for SSE. In React Native, install react-native-fetch-api, web-streams-polyfill@^3, react-native-polyfill-globals, and text-encoding, then call the targeted sub-polyfills once at app startup:polyfillGlobals(), which also pulls in the native react-native-get-random-values and forces a development-client rebuild. Pin web-streams-polyfill to v3 — v4 removed the ponyfill/es6 subpath react-native-polyfill-globals requires.Related
- useSearchContent — non-AI semantic search
- Search & AI overview

