Minions.AI Voice
AI voice receptionist for trade contractors, built on Retell AI + n8n. Books real appointments end-to-end (Google Calendar + EspoCRM), with a multi-slot conversational intake and an in-memory availability cache that replaced a 1,272ms cold Google Calendar lookup with a <50ms cache hit. Live for a pest-control client (Ironclad Pest Solutions) and a real-estate variant (Horizon Realty).
- Client
- Minions.AI
- Role
- Full-Stack & AI Voice Engineer
- Timeline
- 2025 – Present
- Stack
- 6 technologies
A closer look


- Real end-to-end booking, not just a calendar write: one n8n workflow checks slot conflicts, creates the Google Calendar event, finds-or-creates the EspoCRM Contact, then creates a linked Opportunity (stage: 'Appointment Booked')
- 5-minute in-memory availability cache (n8n staticData, no external cache service): cuts the check-availability webhook from a ~1,272ms cold Google Calendar round-trip to a <50ms cache-hit response
- Multi-slot conversational intake: redesigned from 5 rigid sequential questions to a single extraction pass that skips anything the caller already said, cutting average call length from ~3m40s to ~2m18s
- Deployed for a real pest-control client (Ironclad Pest Solutions) with a parallel real-estate variant (Horizon Realty), unified under a shared Multi-Industry Demo Switchboard agent architecture
- Real-estate variant adds automated lead scoring (0-100) and tier assignment (Tier 1 Hot / Tier 2 Warm) synced to EspoCRM on every showing booked
- 19/19 automated regression suite covering agent config, webhook latency, Calendar CRUD, and EspoCRM sync — run before every deploy
Need a similar delivery process for your product? I can help shape the scope and ship the implementation end to end.
Start a projectTrade contractors miss inbound calls while on job sites, and an answering machine loses the lead. Early versions of the booking agent solved the "always answers" problem but introduced a new one: a five-question rigid intake and a live, uncached calendar lookup on every call made bookings slow enough (~3m40s average) that the automation cost more in call-minutes than it saved in staff time.
The agent runs on Retell AI's conversation-flow engine, wired to n8n over webhook tool calls for checking availability, booking, finding, modifying, and canceling appointments. The first version averaged 3m40s per call — a five-question rigid intake, plus a live 1,272ms Google Calendar round-trip on every single availability check. Two fixes addressed both: the intake was rebuilt as a single multi-slot extraction pass that only asks for information the caller hasn't already given, and n8n's own in-memory workflow state (staticData) now caches computed availability slots for 5 minutes, so most checks return in under 50ms instead of hitting the calendar cold.
Booking itself does real CRM work inside one n8n workflow: check for slot conflicts, create the Calendar event, look up or create the EspoCRM Contact, then create an Opportunity linked to both. The same architecture now runs a second agent variant for a real-estate client (Horizon Realty), unified under a shared "Multi-Industry Demo Switchboard" Retell agent, with its own automated lead scoring and 19-test regression suite validating the Calendar/CRM integration end to end.
A Retell-based voice receptionist qualifies callers and books real appointments end-to-end — a Google Calendar event plus a linked EspoCRM Contact and Opportunity — through a cache-optimized, multi-slot intake flow. It's live for a real pest-control client (Ironclad Pest Solutions) and a parallel real-estate variant (Horizon Realty) with automated lead scoring, proving the same agent architecture generalizes across industries rather than being a single-purpose script.
The multi-slot intake redesign cut average call length from ~3m40s to ~2m18s (measured across the most recent 45 live calls on the pest-control booking agent). The 5-minute in-memory cache turned the check-availability webhook's cold-path latency — a live 1,272ms Google Calendar round-trip — into a <50ms cache-hit response for repeat lookups within the same window; the real-estate variant's own regression suite independently confirms a 92.5ms cache-hit / 846.5ms cold-booking latency profile. Every completed booking creates a fully linked record — Calendar event, EspoCRM Contact, and EspoCRM Opportunity — with no manual re-entry required.