← Back to Work
Voice AI[AGENT][CLIENT WORK]

Timber & Co

Voice AI / Inbound call automation

An AI receptionist that answers every call, checks real calendar availability, books or escalates, and logs every outcome.

My role
Built the voice agent, the intent routing, and the n8n workflows for availability checks, booking, call logging, and emergency alerts.
Built with
Retell, Twilio, n8n, GoHighLevel
Status
Client work

Before

The problem

Missed calls cost a tree-service business twice: routine bookings lost to a competitor, and after-hours emergencies that can't wait for a callback.

The system

How the pieces connect

  1. TwilioCarry the call
  2. RetellVoice agent
  3. n8nIntent and calendar
  4. GoHighLevelBook the slot
  5. TelegramEmergency alert

Simulation

See it run

Timber & CoTimber & Co
Sim
+1 (617) 555-0198Incoming
Caller› Hi, I've got a big branch down in my driveway, can someone take a look this week?

SIM: this call transcript is invented; no real customer call is on the record. Every step it shows is a real n8n workflow: Check Availability and the three Log Call variants have real webhook hits, and Create Booking was verified by a direct webhook call that wrote a real appointment to GoHighLevel.

Step by step

How it works

  1. 1Every call is answered immediately. There is no voicemail step.
  2. 2The agent classifies intent: emergency, routine, or out of scope.
  3. 3Routine calls check live GoHighLevel availability before a slot is offered, then book it.
  4. 4Emergencies skip the calendar and alert the owner on Telegram.
  5. 5Every outcome, booked, escalated, or declined, is written to a call log.

After

What changed

› Every inbound call gets answered immediately, at any hour, instead of going to voicemail.
› Emergencies reach the owner on Telegram the moment they're classified, instead of waiting behind routine messages.
› Bookings are only promised against a real, live calendar, and are now confirmed end to end — checked, booked, and written back to GoHighLevel — not just promised.
› Every call is logged regardless of outcome, so nothing goes missing silently.

Stack

For technical readers

Technical detail

The problem, in detail

A tree-service business loses money two ways on missed calls: routine bookings that quietly go to a competitor, and after-hours emergencies — a tree down on a power line — that can't wait for a callback.

› Every call that lands on voicemail is a call the business doesn't know it lost, with no record of who called or why.
› A real emergency and a routine scheduling request look identical on a missed-call log — nothing separated a downed tree from a quote request until someone actually listened to the message.

Build notes

An AI voice agent, built on Retell and Twilio, that answers every inbound call directly — no voicemail step at all — then classifies intent, checks a live calendar, and routes the call before hanging up.

› Retell handles the live voice conversation; Twilio carries the call itself. Every call is classified into one of three intents — emergency, routine, or out-of-scope — before any booking logic runs.
› Routine requests check real GoHighLevel calendar availability through n8n before the agent promises a slot, instead of guessing at open times.
› Emergencies skip the calendar entirely and escalate straight to a Telegram alert sent directly to the owner, so a downed tree on a power line doesn't sit in a queue behind routine messages.
› Out-of-scope calls are declined politely and still logged, without triggering any calendar or booking logic — dead-end calls stay on the record instead of disappearing silently.
› Booking confirmed / GHL updated: the newest workflow, Create Booking, was untested going into this round — a live test call this session (via a real webhook POST, not a UI click) confirmed it end to end, including a real GoHighLevel appointment written back. Every outcome — booked, escalated, or declined — writes to a call log, so nothing goes missing without a trace of what happened and why.