Quick overview
This workflow runs as a webhook-based, voice-first mock interview coach that transcribes a candidate’s audio with OpenAI, analyzes delivery metrics, uses an OpenAI chat agent with session memory to generate coaching feedback and a follow-up question, and returns a spoken TTS response after delivery confirmation.
How it works
- Receives a POST webhook request containing a sessionId, role, turnNumber, and an audio recording from the candidate.
- Sends the audio to OpenAI Speech-to-Text (Whisper) to generate a transcript.
- Analyzes the transcript to compute delivery metrics such as filler-word usage, words per minute, pace assessment, short-answer flags, and whether the session reached the final turn.
- Uses an OpenAI chat agent with Window Buffer Memory keyed by sessionId to produce structured JSON coaching feedback, encouragement, a score, and the next interview question (or a wrap-up on the final turn).
- Converts the agent’s feedback and next question into audio using OpenAI Text-to-Speech.
- Waits for a delivery-confirmation callback and then responds to the original webhook with the transcript, coaching outputs, score, next question, and generated audio (or returns a retry message if not confirmed).
Setup
- Add an OpenAI API credential used by the transcription (Whisper), chat model, and text-to-speech HTTP requests.
- Configure your client app to POST the audio binary as audioData along with sessionId, role (optional), and turnNumber (optional) to the workflow’s webhook endpoint.
- Update the configuration values (role default, maxTurns, and the STT/TTS URLs, models, and voice) in the workflow’s config step as needed.
- Copy the Wait node’s resume webhook URL and have your client app call it with deliveryConfirmed=true after the generated audio is ready/played.