Lecture Eval v1¶
An AI-powered workflow that analyzes audio recordings of training sessions to provide automated facilitation feedback. The system transcribes lessons, evaluates them against Educate!'s Facilitation Standards rubric, and generates coaching insights for trainer development.
Purpose¶
No business context provided yet — add a context.md to enrich this documentation.
This workflow serves as an automated coaching tool for training facilitators. It processes uploaded lesson recordings to measure key facilitation metrics like talk ratio, question density, learner engagement, and adherence to curriculum timing. The system generates structured feedback against established rubric standards and creates detailed transcripts for further review.
How It Works¶
- Upload Form: Trainers submit audio recordings through a web form with lesson metadata (trainer name, lesson title, date, region, expected duration)
- File Validation: The system checks file size (max 100MB) and normalizes audio format for processing
- Audio Upload: Files are uploaded to Google Gemini's Files API for analysis
- AI Analysis: Gemini processes the audio to transcribe speech, identify speakers, classify questions, and measure session duration
- Signal Computation: The workflow calculates key metrics like talk ratio, learner voice diversity, question density, and script compression
- Transcript Creation: A Google Doc is created with the full session transcript
- Rubric Scoring: Claude AI evaluates the session against Educate!'s three-category facilitation rubric
- Data Recording: Results are appended to a Google Sheets database with all metrics and coaching feedback
- Confirmation: The user receives confirmation that analysis is complete
Workflow Diagram¶
graph TD
A[Form Trigger] --> B[Validate Upload]
B --> C{Size OK?}
C -->|Yes| D[Upload to Gemini Files]
C -->|No| E[Form: Too Large]
D --> F[Build Gemini Request]
F --> G[Analyze with Gemini]
G --> H[Compute Signals]
H --> I[Create Transcript Doc]
I --> J[Write Transcript Body]
J --> K[Build Rubric Request]
K --> L[Rubric Scoring Claude]
L --> M[Build Sheet Row]
M --> N[Append to Sheet]
N --> O[Form: Success]
Trigger¶
Form Trigger: A web form that accepts: - Audio file upload (audio/*, video/mp4, .mp3, .wav, .m4a, .mp4, .webm) - Trainer name (required) - Lesson title (required) - Session date (required) - Region (optional) - Expected duration in minutes (optional, defaults to 80)
Nodes Used¶
| Node Type | Purpose |
|---|---|
| Form Trigger | Collects lesson recording and metadata from users |
| Code | Validates file size, computes facilitation metrics, builds API requests |
| IF | Routes workflow based on file size validation |
| HTTP Request | Uploads files to Gemini, calls AI APIs for analysis and scoring |
| Google Sheets | Appends analysis results to tracking spreadsheet |
| Form | Displays completion messages and error notifications |
External Services & Credentials Required¶
- Google Gemini API: For audio transcription and analysis
- Credential:
googlePalmApi(IRIS Google Gemini account)
- Credential:
- OpenRouter API: For rubric scoring using Claude AI
- Credential:
openRouterApi(IRIS OpenRouter account)
- Credential:
- Google Docs API: For creating transcript documents
- Credential:
googleDocsOAuth2Api(IRIS Google Docs account)
- Credential:
- Google Sheets API: For recording analysis results
- Credential:
googleSheetsOAuth2Api(IRIS Google Sheets account)
- Credential:
Environment Variables¶
No environment variables are used. All configuration is handled through n8n credentials and hardcoded values in the workflow nodes.
Data Flow¶
Input: Audio file + lesson metadata (trainer, title, date, region, expected duration)
Processing: - Audio transcription with speaker identification - Question classification (open/closed/rhetorical/probing) - Facilitation metric calculation (talk ratio, learner voices, question density, script compression, agency language) - Rubric scoring across three categories (Gender Responsive Facilitation, Leadership Mindset, Relevant & Liberating Education)
Output: - Google Sheets row with 30+ columns of metrics and coaching feedback - Google Doc with full session transcript - Risk flags (engagement, facilitation, fidelity) and overall quality rating
Error Handling¶
- File Too Large: Files over 100MB are rejected with compression guidance
- API Retries: Gemini analysis includes retry logic (4 attempts, 15s intervals)
- Timeout Protection: Extended timeouts for file upload (5min) and analysis (10min)
- JSON Parsing: Defensive parsing of AI responses with error capture
Known Limitations¶
- Maximum file size of 100MB (though Gemini supports up to 2GB)
- Processing time of 2-5 minutes per recording
- Requires users to keep browser tab open during processing
- Speaker identification relies on acoustic features and may struggle with similar voices
- Rubric scoring depends on transcript quality and may miss nuanced facilitation behaviors
Related Workflows¶
No related workflows mentioned in the provided context.
Setup Instructions¶
- Import Workflow: Import the JSON into your n8n instance
- Configure Credentials:
- Set up Google Gemini API credentials for audio analysis
- Configure OpenRouter API access for Claude scoring
- Add Google Docs OAuth2 credentials for transcript creation
- Set up Google Sheets OAuth2 for data recording
- Update Sheet ID: Modify the Google Sheets node to point to your tracking spreadsheet (currently:
1g1Y3hWngWFcr1MQFD2bRh3no9kX72m934d9Sv9L4CKI) - Test Form: Activate the workflow and test with a sample audio file
- Share Form URL: Distribute the webhook URL to trainers for lesson submissions
- Monitor Results: Check the Google Sheets for analysis results and transcript links
The workflow is production-ready and includes comprehensive error handling for reliable operation at scale.