Skip to content
AgenticHacks
All hacks

Trades agent system

Answer the paid lead in under 60 seconds

An Angi, Thumbtack, or web-form lead is called or texted within a minute, qualified, and booked. Every booked job is logged with its cost so the Monday report can compare sources.

Difficulty
Difficulty 3 of 5 in the research brief.
Setup time
Estimate, not from the brief: a weekend, longer if the only lead path is an email you have to parse.

The pain

Paid leads are shared, you pay even when the lead is bad, and the shop that answers first gets the conversation. The brief's fix is speed, plus a cost-per-booked-job number so you can pause a source that does not pay.

Workflow
  1. Lead email or webhook arrives

  2. Parse name, phone, trade, and source

  3. Within 60 seconds, Grok Voice calls or an SMS goes out

  4. Qualified and in the service area?

  5. Branch

    • Yes

      Book the slot and log the lead cost against that booked job.

    • No

      Log it as not booked, with the reason, so the source still has a cost.

  6. Weekly report compares cost per booked job by source and can recommend a pause

Trigger

A lead email or a lead webhook from Angi, Thumbtack, or the site form.

Data sources

  • The lead email or webhook: name, phone, job description, and source
  • What you paid for that lead, so cost per booked job can be calculated
  • Open slots for the booking
  • A sheet or Airtable that stores source, cost, and whether it booked

Voice layer

Recommended first option: Grok Voice by xAI, model grok-voice-3.0 (alias grok-voice-latest). Retell and Vapi stay as alternatives.

Published xAI price for grok-voice-3.0: $0.08 per minute of audio ($4.80 per hour), plus $0.004 per text input. A text input is a conversation.item.create, except function_call_output items and audio items. response.create is not billed as a text input.

At $0.08 a minute, 200 minutes of calls is 200 × $0.08 = $16 of speech. Each billed text input adds $0.004, so a handful of text items on those calls is cents, not another per-minute rate. An hour of audio is $4.80 before text inputs. Retell and Vapi remain alternatives and are priced by those vendors.

Latency. xAI's own claim is sub-second speech-to-speech latency. That is a vendor claim. This site has not measured it.

  • 10 concurrent sessions per team, from the speech-to-speech rate limits.
  • 120-minute maximum session.

Function calling is built in, including custom functions, so a tool in the session can book into ServiceTitan directly. You still implement that function against the ServiceTitan API. ServiceTitan's own limits stay in force: Zapier registration is required, and ServiceTitan says that integration is not officially supported.

Twilio setup

A. Elastic SIP trunk. In Twilio, set the origination URI to sip:{number}@sip.voice.x.ai;transport=tls and assign the shop number. Register that number with xAI as origin byo_trunk and a webhook, and store the signing secret (xAI returns it once). On the signed realtime.call.incoming webhook, verify webhook-id, webhook-timestamp, and webhook-signature, then read data.call_id. Connect to wss://api.x.ai/v1/realtime?call_id={call_id} with your API key, send session.update, then response.create. Transfers go to POST /v1/realtime/calls/{id}/refer. Turn on call transfer on the Twilio trunk if you transfer mid-call.

B. Twilio Media Streams. Your server passes μ-law (PCMU, 8 kHz) audio straight through to wss://api.x.ai/v1/realtime, with no PCM conversion. The xAI phone cookbook shows this path and says the examples are not production-ready without extra hardening.

Build it

  1. 1

    Get the lead into the workflow the moment it arrives

    Prefer a webhook. The brief says Thumbtack has a partner API and that this was not confirmed, and that the fallback is to parse the lead email. Angi delivery is email or a CRM integration.

  2. 2

    Contact them in under 60 seconds

    Call with Grok Voice, or send an SMS. Retell or Vapi can place the call instead. Qualify the trade, the address, and whether they are still looking. Shared leads go to more than one shop, so the first useful reply matters.

    Branch. In the service area and ready to book: offer two slots and book. Wrong trade, out of area, or already hired: log the reason and do not keep texting.

  3. 3

    Store cost per booked job by source

    Every lead writes a row: source, what you paid, booked or not. The weekly model reads that sheet. A sample line in the brief is "Angi: $412 per booked job vs GBP: $38." Those dollars are an illustration of the report format, not a measured benchmark.

  4. 4

    Let the weekly note recommend a pause

    The model compares sources and can recommend pausing spend. A person decides. The agent does not turn the ads off by itself.

Tools and rough monthly cost

A Grok Voice minute is $0.08 ($4.80 per hour) plus $0.004 per text input, from xAI's pricing page. One hundred qualifying minutes is 100 × $0.08 = $8 of speech, before text inputs. SMS-only is cheaper and still meets the 60-second bar. Retell and Vapi are alternatives priced by those vendors. Lead fees are your existing ad spend, not a new tool.

ToolJobRough monthly
Thumbtack, Angi, or the web formThe leadWhat you already pay per lead. Thumbtack's partner API was not confirmed. Email parsing is the fallback.Unverified
Grok Voice (or Retell/Vapi)Recommended voice call inside 60 seconds. Model grok-voice-3.0 (alias grok-voice-latest). Retell and Vapi remain alternatives. Twilio SMS is the cheaper path that still meets the clock.xAI published price: $0.08 per minute ($4.80 per hour) plus $0.004 per text input. A one-minute qualifying call is $0.08 of speech before text inputs. Retell, Vapi, and Twilio SMS are priced by those vendors.xAI pricing
n8n or MakeParse, start the 60-second contact, write the sheetOften the low tens of dollars. Unverified public list-price estimate, October 2026. Not a figure from the research brief. Check the vendor.Unverified
Google Sheets or AirtableCost per booked job by sourceThe free or low-tier plan is enough for one shop. Unverified public list-price estimate, October 2026. Not a figure from the research brief. Check the vendor.Unverified
LLM APIParse messy emails and write the weekly noteUsually a few dollars a month. Unverified public list-price estimate, October 2026. Not a figure from the research brief. Check the vendor.Unverified

Expected ROI

The brief does not publish a cost-per-booked-job benchmark. The $412 and $38 figures in the sample weekly report are illustrative. The outcome to measure is your own cost per booked job by source, and whether you pause a source that loses.

Caveats

  • Thumbtack's partner API is marked unverified in the software table. Build the email parser first so a missing API does not block the 60-second response.Unverified
  • Do not cite $412 or $38 as industry numbers. They are an example sentence inside the brief's workflow.
  • Reddit threads are the evidence that leads are shared and that bad leads are still billed. They are not a sample you can generalize to a percentage.

Example prompt

Change the names, fees, and slots before you run it. It does not add facts that were not in the brief.

A shared lead just arrived. Contact them as the shop, within the facts you were given.

Say which company you are and the job they asked about. Ask if they still need it, and ask for the address if it is missing.
Offer two appointment slots only if you were given those slots.
If they already hired someone, or the trade is wrong, thank them and stop.
Return a one-line log: source, booked or not, and the reason if not.
Do not quote a price you were not given. Do not mention other contractors.

Want this set up for you?

A short note that you want “Answer the paid lead in under 60 seconds” done for you. We use it to measure demand. No setup service is connected yet.

Placeholder only. The address is checked and then discarded.

+Your logo here