AI Voice Interviewer Practice Assistant using Gemini - n8n Workflow

Use this powerful n8n workflow to simulate technical job interviews. This n8n templates integrates Google Gemini, manages conversation history, and dynamically generates realistic interview questions.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

Job seekers preparing for technical interviews who need realistic practice.
Developers looking to build sophisticated, conversational AI applications.
Users of n8n seeking advanced examples of integrating LLMs with webhooks.
Anyone needing an n8n workflow that maintains complex state (conversation history).

Overview

Preparing for a complex job interview requires personalized, dynamic practice. This n8n workflow provides the critical backend logic to power an AI Voice Interviewer application (requires a simple HTML/JS frontend for voice handling).

This robust n8n templates solution solves the challenge of creating conversational depth by intelligently switching between an initial prompt (using the candidate's resume and job description) and follow-up prompts that leverage the ongoing conversation history. Each turn is managed through a single, efficient n8n node structure. This design ensures that the Google Gemini model acts as a highly specialized technical recruiter, delivering highly relevant and challenging questions.

How it Works

The entire process is initiated by an HTTP POST request to the custom n8n trigger Webhook node.


  1. Receive Request (n8n trigger): The process starts when the external frontend UI sends a request containing the job details, resume text, and (potentially) conversation history and the user’s latest answer.

  2. Determine Flow (If n8n node): An If n8n node checks if the conversationHistory field is empty. This determines if it is the first question of the interview or a subsequent follow-up.

  3. Prompt Generation:

If new, the Create Initial Prompt node generates a detailed system instruction using the job title and resume, telling the AI recruiter 'Alex' to ask the first impactful question.
If a follow-up, the Create Follow-up Prompt n8n node includes the full conversation history to date, along with the user's latest response, instructing the AI to generate the next logical question.

  1. AI Processing: Both flows merge and feed the generated prompt into the Basic LLM Chain n8n node, which utilizes the Google Gemini Chat Model credential to process the request and generate the AI's question.

  2. Response Preparation: The Prepare Response Data n8n node extracts the AI's answer and constructs the updated conversation history string.

  3. Final Response: The workflow concludes by using the Respond to Webhook n8n node to send the new question and the updated history back to the frontend UI as a clean JSON object, completing the cycle.

Installation Guide

To deploy this comprehensive n8n workflow, follow these steps:


  1. Import the n8n Workflow: Copy the provided JSON data and paste it directly into your n8n instance using the 'New' menu -> 'Import from JSON'.

  2. Configure Google Gemini Credentials:

Locate the Google Gemini Chat Model n8n node.
Click the 'Credentials' section and select 'Create New Credential'.
* Provide your Gemini API key (obtainable from Google AI Studio).

  1. Activate the Workflow: Ensure the n8n workflow is saved and activated ('On' state).

  2. Set Up the Frontend: This n8n templates solution is the backend. You must deploy a compatible frontend (e.g., HTML/JS application handling voice input/output). The documentation notes that frontend code is available in a referenced GitHub repository.

  3. Connect Front and Back: Click the initial Webhook n8n trigger node, copy the Production URL, and paste this URL into your frontend configuration so it can communicate with this running n8n instance.

Node Details

This n8n workflow utilizes several key nodes to manage the logic and AI interaction:

Webhook (n8n trigger):
Function: Serves as the starting point, listening for HTTP POST requests from the external application.
Key Configuration: Uses a custom webhook ID and is configured to wait for a response from a subsequent node (responseNode).
If (n8n node):
Function: Directs the flow based on whether the conversationHistory parameter is empty, effectively determining if it's the first question or a follow-up.
Key Configuration: Condition checks if $json.body.conversationHistory is empty.
Create Initial Prompt (Set n8n node):
Function: Generates the detailed, large language model system prompt specifically for the first turn of the interview, referencing the candidate's resume and job description.
Create Follow-up Prompt (Set n8n node):
Function: Generates the system prompt for ongoing conversation turns, including the complete history to ensure context-aware questioning.
Basic LLM Chain (n8n node):
Function: Orchestrates the LLM execution, receiving the processed prompt text.
Google Gemini Chat Model (n8n node):
Function: Connects the LLM Chain to the Google Gemini service using a configured credential, performing the generative AI task.
Prepare Response Data (Set n8n node):
Function: Structures the data before sending it back, extracting the AI's question and calculating the updated conversationHistory string for the next turn.
Respond to Webhook (n8n node):
Function: Sends the final JSON response (containing the newQuestion and updatedHistory) back to the originating frontend application.

Related n8n Workflows

Free

Nodes: 8 Nodes
Updated: December 26 2025
View all
Created by
Sarthak
Sarthak

Featured*