Noesis
Noesis
Find out who or what answered a phone call, live during the call or from a recording.
Noesis tells you who or what answered a phone call: a person, a voicemail, an IVR menu, a hold queue or an automated voice agent. It listens for the whole call and tells you when the answer changes, for example from ivr to hold to human when a menu transfers you to a person.
Noesis runs on your DetectifAI account: the same API keys, the same credit balance and the same dashboard.
Two ways to use it
| Use | You send | You get back |
|---|---|---|
| Live calls | The callee's audio, streamed over a WebSocket for the whole call | A classification event for the first answer and for every change, then a summary |
| Recorded calls | A recorded call as a WAV file | The answers a live call would have received |
Base URLs
https://api.noesis.detectif.ai
wss://api.noesis.detectif.ai/v1/detect/streamEvery request needs an API key that is allowed to use Noesis. See Authentication.
Answers
| Label | Category | Meaning | Suggested action |
|---|---|---|---|
human |
human | A live person | Start the conversation |
ivr |
machine | An automated menu: press or say an option | Stay silent, keep listening |
hold |
machine | Waiting, queue music, or "connecting you to an agent" | Stay silent, keep listening |
ai_agent |
machine | An automated voice agent that says it is one | Stay silent, keep listening |
voicemail |
machine | A mailbox that can record a message | Leave a message or hang up |
announcement |
machine | A one-way recording: no menu, no message | Hang up |
unavailable |
machine | A carrier message: busy, invalid number, switched off, mailbox full | Hang up |
machine |
machine | A machine answered; the type is not known yet | Stay silent; a specific label usually follows |
unknown |
unknown | Not enough to tell yet | Wait |
Route on category if you only need to know whether a person or a machine answered.
How the answer behaves
- The first answer comes a few seconds after the callee starts to speak. If nobody speaks (silence or ringing), you get no answer rather than a guess.
- A line that announces a person ("connecting you to our sales team") is
hold, nothuman.humanfollows when the person speaks. - Once a person is confirmed, the answer stays
human, even if they say "please hold". - English, Hindi and Hinglish are supported.
- Answers are signals, not proof. Build your call flow so that it still works when the answer is
unknownor arrives late.
Never block a call on Noesis. If the connection fails or closes, carry on with the call as you would without it.
Recording
Calls you send to Noesis are recorded (audio and transcript) and kept for 30 days, unless you set record=false. See Data and recording.
Next steps
- Quickstart: stream a recording and read the answers.
- Twilio, LiveKit, Pipecat and the other integration guides.
- Stream protocol: audio formats, messages, events and close codes.
- API Reference: every Noesis REST endpoint.