---
title: "Topic Detection"
slug: "dataflow-nodes-topic-detection"
updated: 2025-08-01T09:38:33Z
published: 2025-08-01T09:38:33Z
canonical: "docs.knovvu.com/dataflow-nodes-topic-detection"
---

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

# Topic Detection

A node that accumulates Text based events and detects the topic of accumulated text at the end of operation. 

## Parameters
|  <div style="width:120px">name</div> | description | <div style="width:220px">default</div> |
|---|---|---|
| IgnoreSslErrors | Ignore any SSL certificate errors for the Http calls | false |
| Credential | API Key Credential for the OpenAI service | empty |
| Model | Model code of the OpenAI Version | gpt-3.5-turbo |


## Inputs

### Audio
&emsp;none

### Events
| name | description | known nodes that generate this event |
|---|---|---|
| Every Event that has `Data.Text` field. | i.e SR Milestone events. Translation events, Custom events etc. | [SR Http](/v1/docs/dataflow-nodes-speech-recognition-sr-http), [SR WebSocket](/v1/docs/dataflow-nodes-speech-recognition-sr-websocket), [Translate](/v1/docs/dataflow-nodes-translate)|

## Outputs

### Audio
&emsp;none

### Events
|  <div style="width:120px">name</div> | description |
|---|---|
| [Topic Detected](/v1/docs/events#topic-detected) | Contains the top three topics of all the inputted text containing events received in the `Data.Topics` field.  |


## Remarks 

### Requirements
The node needs an OpenAI Api key to perform. To learn more about getting an API Key and finding it, you can refer to the [OpenAI Api page](https://openai.com/api/){target="_blank"} .

After getting your API Key, you can learn about finding and securely using your key following the instructions on [this page](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key){target="_blank"}. 

You can also see which models are available through the [OpenAI Models](https://platform.openai.com/docs/models){target="_blank"}  page.

### Project  Structure
The node expects events from the SR Http or SR WebSocket node. 
A minimum viable project that utilizes the Topic Detection node can be built as such:
![image.png](https://cdn.document360.io/9bca2910-6a3b-4224-9470-43f91f9a6d57/Images/Documentation/image%28865%29.png){height="" width=""}

Since the Topic Detection node only needs events from the SR nodes, it can be placed wherever an SR node is utilized. A more complicated project that utilizes Topic Detection can be built as such:
![image.png](https://cdn.document360.io/9bca2910-6a3b-4224-9470-43f91f9a6d57/Images/Documentation/image%28867%29.png){height="" width=""}



### Detailed Workflow
Topic Detection node accumulates all the SR Milestone events it receives and waits for a Flush call. (eg. If the client is a Call Recorder application, Flush is typically sent at the end of a call.) When Topic Detection node receives a Flush, it detects the topic of text it had received so far with the help of OpenAI and raises a `Topic Detected` event.


### Supported flow types
Stream, Batch


<div style="max-height: 200px; overflow-y: auto; overflow-x: hidden"> 
    <details>
      <summary> <strong> v4.2.0</strong>  </summary>
          <ul>
              <li>Deprecated the <strong>Key</strong> field in node config; </li>
              <li>Added encrypted <strong>Credential</strong> dropdown for safer credential management.</li>
          </ul>
</details>
    <details>
        <summary> <strong> v3.4.0</strong> </summary>
        <ul>
            <li>Model Parameter Added.</li>
        </ul>
    </details>
    <details>
        <summary> <strong> v3.3.0</strong> </summary>
        <ul>
            <li>Now accepts all events that have text field instead of just SR Milestone.</li>
             <li>Node config now prevents saving the project if it doesn't have a proper api key.</li>
        </ul>
    </details>
    <details>
        <summary> <strong> v1.0.0</strong> </summary>
        <ul>
            <li>Introduced node.</li>
        </ul>
    </details>
</div>
