Overview
Helix is 5app's AI agent that joins a user's meetings (Google Meet, Zoom, Microsoft Teams), passively listens, and turns the conversation into soft-skills feedback — a score and coaching-style summary per skill, delivered to the user and rolled up into team/domain analytics for L&D and managers.
The two repos
Helix spans two repos: a small, purpose-built AWS Lambda service that gets a bot into a meeting, and a large chunk of business logic living inside the main Hub api/ that does essentially everything else.
| Repo | What it does |
|---|---|
helix (standalone) | Thin, near-stateless Lambda service (AWS SAM, TypeScript). Receives webhooks from a meeting-bot vendor and from Google/Microsoft calendars, and forwards the raw payloads to Hub over SQS, which does all scoring. See Meeting bots & the helix repo. |
hub, api/modules/helixProcessing/ | Consumes those SQS messages, matches transcript speakers to Hub users, runs the OpenAI-based scoring, persists everything to the helix_* tables, and sends the result emails. This is where the "3Q Engine" concept actually lives in code. See Scoring engine. |
See Architecture & data flow for the full picture end to end.
Getting Helix into a meeting
Helix "attends" a meeting because a real mailbox — the agent account — is invited to it as a calendar guest. Hub impersonates that mailbox (via a GCP service account) to watch its inbox for invites, and the helix repo's meeting-bot vendor uses the same account to authenticate against the user's calendar. See Meeting bots & the helix repo for how this is wired up.
To use Helix in an environment, invite the corresponding agent account to a meeting:
- dev:
helix-testing@5app.com - staging:
helix-staging@5app.com - prod:
helix@5app.com
Is a domain "Helix"?
A domain (hub) can be Helix-only, Learning-only, or both — controlled by the domains.config.helixIntegrationMode setting ('helix' | 'learning' | 'both'), which gates huge parts of both the main app and Admin navigation. See Admin config, permissions & frontend.