DataLatte
Want to explore AI agents yourself? Try our free AI Agent Builder →
🤖
AI AGENTS & AUTOMATION

Eight agents. One pipeline.Zero missed leads.

Real LLM pipelines — not chatbot toys. Built on OpenAI function calling, Claude, n8n, and Twilio — integrated into your booking system, CRM, and Google Business Profile.

trigger → classify → LLM call → structured action → human escalation path

Under the hood

How every agent is structured

01
Trigger
Webhook, cron, form submit, API event, or user message fires the workflow
02
Route
Conditional logic classifies the input — new lead, existing client, complaint, etc.
03
LLM call
Structured prompt with context + function schema sent to GPT-4o or Claude. Response parsed into typed actions.
04
Action
Agent executes: writes to CRM, sends SMS, creates booking, posts reply, or escalates to human

8 agents I build for local businesses

Each card shows the real trigger, model, and function schema. These are deployed pipelines — not demos.

Lead Responder
< 60s response, 24/7

Fires the moment a lead fills a form, messages your GBP, or clicks a Facebook Lead Ad. Pulls context from your service list and sends a personalised reply that sounds like you — in under 60 seconds.

TRIGGER
Webhook · Form submit · GBP message
MODEL
GPT-4o-mini
Send personalised SMS/emailCreate CRM contactNotify owner
function schema
{
  "name": "qualify_lead",
  "parameters": {
    "name": "string",
    "service_interest": "enum[haircut,colour,blowout]",
    "preferred_time": "string",
    "urgency": "enum[today,this_week,flexible]"
  }
}
Review Monitor
Responds in < 2 hours

Monitors Google Business Profile, Yelp, and Facebook for new reviews. Generates a reply that references the specific service mentioned, thanks by name, and matches your brand tone. Negative reviews route to you first.

TRIGGER
GBP webhook · Yelp RSS · Facebook API
MODEL
Claude 3.5 Haiku
Draft personalised replyFlag negatives for ownerLog to sheet
function schema
{
  "name": "draft_review_reply",
  "parameters": {
    "reviewer_name": "string",
    "rating": "integer(1-5)",
    "service_mentioned": "string",
    "sentiment": "enum[positive,neutral,negative]",
    "reply_tone": "enum[warm,professional,empathetic]"
  }
}
Booking Agent
Fully conversational scheduling

A multi-turn conversational agent that handles the full booking flow — asks about service, stylist preference, and date, checks real-time availability via Calendly/Acuity/Square API, and confirms the appointment.

TRIGGER
Website chat · SMS · WhatsApp
MODEL
GPT-4o
Check calendar availabilityCreate bookingSend confirmation
function schema
{
  "name": "create_booking",
  "parameters": {
    "service": "string",
    "staff_preference": "string | null",
    "date": "ISO8601",
    "duration_mins": "integer",
    "customer_phone": "string",
    "send_reminder": "boolean"
  }
}
Missed Call Text-Back
Recaptures 40% of lost calls

When a call goes unanswered, Twilio fires a webhook. The agent sends a personalised SMS within 30 seconds, offers a direct booking link, and starts a two-way SMS conversation to capture the lead before they call a competitor.

TRIGGER
Twilio missed-call webhook
MODEL
GPT-4o-mini
Send SMS within 30sOffer booking linkEscalate if urgent
function schema
{
  "name": "handle_missed_call",
  "parameters": {
    "caller_number": "string",
    "call_time": "ISO8601",
    "business_hours": "boolean",
    "prior_customer": "boolean",
    "message_template": "enum[new_lead,returning,after_hours]"
  }
}
No-Show Reducer
Cuts no-shows by 30–50%

A multi-step sequence: 48h before → SMS reminder with one-tap confirm. 2h before → final nudge. No reply? Agent sends a reschedule offer and marks the slot potentially free — reducing dead time on your calendar.

TRIGGER
Cron · Booking system API
MODEL
Rule-based + GPT-4o-mini
48h reminder SMS2h reminderReschedule if no confirm
function schema
{
  "name": "send_reminder",
  "parameters": {
    "booking_id": "string",
    "customer_name": "string",
    "service": "string",
    "appointment_time": "ISO8601",
    "reminder_stage": "enum[48h,2h,1h]",
    "channel": "enum[sms,email,whatsapp]"
  }
}
FAQ / Website Chat
Handles 80% of inbound questions

RAG-powered chat agent trained on your services, pricing, hours, and policies. Uses vector search over your content to give accurate, specific answers. Unknown questions route to you with full conversation context.

TRIGGER
Website widget · Facebook Messenger
MODEL
Claude 3.5 Sonnet (RAG)
Answer from knowledge baseCapture contactEscalate to human
function schema
{
  "name": "query_knowledge_base",
  "parameters": {
    "query": "string",
    "context_window": "integer",
    "top_k_chunks": "integer(1-5)",
    "confidence_threshold": "float(0-1)",
    "fallback_action": "enum[escalate,capture_email,suggest_call]"
  }
}
Reactivation Agent
Wins back lapsed clients

Queries your booking system for clients who haven't visited in 60+ days, segments them by last service type, and sends a personalised re-engagement message with a tailored offer. Tracks opens and re-bookings automatically.

TRIGGER
CRM cron · Last visit > 60 days
MODEL
GPT-4o-mini
Segment by last serviceSend personalised offerTrack re-bookings
function schema
{
  "name": "reactivate_client",
  "parameters": {
    "client_id": "string",
    "last_service": "string",
    "days_since_visit": "integer",
    "lifetime_value": "number",
    "offer_type": "enum[discount,gift,priority_booking,none]",
    "channel": "enum[sms,email]"
  }
}
Reputation Pipeline
Automates review generation

After a completed appointment, the agent sends a satisfaction check via SMS. Happy customers (4–5 stars) get a direct link to your Google review page. Unhappy customers get a private feedback form — protecting your public rating.

TRIGGER
Post-visit webhook · POS API
MODEL
GPT-4o-mini + conditional logic
Send review requestRoute happy → GoogleRoute unhappy → private
function schema
{
  "name": "route_review_request",
  "parameters": {
    "customer_id": "string",
    "service_completed": "string",
    "internal_rating": "integer(1-5)",
    "google_review_url": "string",
    "private_form_url": "string",
    "send_delay_mins": "integer"
  }
}
Social Media Poster
Posts daily — zero manual effort

Monitors your booking system, new reviews, and seasonal events — then writes and publishes on-brand content to Instagram, Facebook, and Google Business Profile. Before/afters for salons, daily specials for cafés, class schedules for gyms. Each platform gets native content, not copy-paste.

TRIGGER
Cron (9am daily) · Booking webhook · Review event
MODEL
Claude 3.5 Sonnet + GPT-4o Vision
Generate platform-native captionSelect & resize imagePublish via Meta Graph API + GBP API
function schema
{
  "name": "generate_social_post",
  "parameters": {
    "business_type": "enum[salon,cafe,gym,pet_groomer]",
    "post_type": "enum[promotion,before_after,review_highlight,seasonal,class_schedule]",
    "platform": "enum[instagram,facebook,gbp]",
    "tone": "enum[warm,professional,playful,urgent]",
    "include_cta": "boolean",
    "cta_type": "enum[book_now,call_us,visit_link,dm_us]"
  }
}
Tech Stack

Tools I use to build and deploy agents

LLM
OpenAI API
GPT-4o, GPT-4o-mini, function calling, embeddings
LLM
Anthropic API
Claude 3.5 Sonnet/Haiku for nuanced, tone-safe responses
Orchestration
n8n
Self-hosted workflow orchestration, 400+ integrations
Orchestration
Zapier / Make
No-code automation for simpler trigger-action flows
CRM/Comms
GoHighLevel
CRM, SMS/email sequences, pipeline management
Comms
Twilio
Programmable SMS, voice webhooks, WhatsApp Business API
Memory
Pinecone / Supabase
Vector store for RAG-powered knowledge base agents
Booking
Calendly / Acuity / Square
Real-time availability + booking creation via API

Lead Responder — full pipeline config

This is an abbreviated version of the n8n workflow + OpenAI function definition used in a real hair salon deployment. The agent handles 40–60 inbound leads per month, responds within 45 seconds, and books ~28% into consultations.

lead_responder_agent.json
{
  "workflow": "lead_responder_v2",
  "trigger": {
    "type": "webhook",
    "method": "POST",
    "path": "/leads/inbound",
    "auth": "bearer"
  },
  "nodes": [
    {
      "id": "classify_source",
      "type": "switch",
      "conditions": [
        { "field": "$.source", "equals": "gbp_message",  "next": "enrich_gbp"  },
        { "field": "$.source", "equals": "facebook_lead", "next": "enrich_fb"   },
        { "field": "$.source", "equals": "web_form",      "next": "enrich_form" }
      ]
    },
    {
      "id": "call_llm",
      "type": "openai_chat",
      "model": "gpt-4o-mini",
      "system_prompt": "You are a warm, concise assistant for {business_name}...",
      "tools": [
        {
          "name": "qualify_lead",
          "description": "Extract lead intent and urgency",
          "parameters": {
            "type": "object",
            "properties": {
              "service_interest": { "type": "string", "enum": ["haircut","colour","blowout","other"] },
              "urgency":          { "type": "string", "enum": ["today","this_week","flexible"] },
              "contact_preference":{ "type": "string", "enum": ["sms","email","call"] }
            },
            "required": ["service_interest", "urgency"]
          }
        },
        {
          "name": "check_availability",
          "description": "Query Calendly API for open slots",
          "parameters": {
            "type": "object",
            "properties": {
              "service_type": { "type": "string" },
              "preferred_date": { "type": "string", "format": "date" },
              "duration_mins":  { "type": "integer", "default": 60 }
            }
          }
        }
      ],
      "fallback_on_error": "escalate_to_human"
    },
    {
      "id": "send_reply",
      "type": "twilio_sms",
      "to": "{{trigger.phone}}",
      "body": "{{llm.generated_reply}}",
      "timeout_ms": 8000
    },
    {
      "id": "create_crm_contact",
      "type": "gohighlevel_api",
      "action": "upsert_contact",
      "data": {
        "name":    "{{trigger.name}}",
        "phone":   "{{trigger.phone}}",
        "tags":    ["ai_lead", "{{nodes.call_llm.service_interest}}"],
        "pipeline": "new_leads"
      }
    },
    {
      "id": "escalate_to_human",
      "type": "notify",
      "channels": ["sms_owner", "slack"],
      "message": "⚠️ AI handoff: {{trigger.name}} — low confidence or error. Conversation: {{context_url}}"
    }
  ],
  "sla": {
    "max_response_ms": 60000,
    "escalation_on_timeout": true
  }
}

* Simplified for clarity. Production config includes retry logic, PII scrubbing, and audit logging.

What you get

Full workflow audit — map every lead drop-off point
Up to 3 agents built and deployed (4–8 week engagement)
OpenAI / Claude API integration with function calling
n8n or Zapier orchestration layer
CRM integration (GoHighLevel, HubSpot, or custom)
Twilio SMS + WhatsApp Business setup
RAG knowledge base from your existing content
Confidence threshold tuning + human escalation paths
Monitoring dashboard (response rates, fallback rate, cost/lead)
Full documentation + recorded walkthrough so you can extend it
30-day post-launch support — fix anything that surfaces in production

This engagement is best for:

Businesses handling 20+ inbound leads per month
Owners spending 1–2h/day on repetitive follow-up messages
Any service business with > 10% no-show rate
Businesses with an existing booking system and CRM
Tech-comfortable owners who want to understand what they're running
Anyone who's ever lost a lead to a competitor who replied faster

Technical questions answered

What's the difference between a workflow automation and an AI agent?

A workflow automation (Zapier, Make) follows a fixed if/then path — it can't reason or adapt. An AI agent uses an LLM to understand unstructured input, decide what action to take, and call the right tool. For example: a workflow can auto-send a confirmation email. An agent can read an ambiguous 'I want to come in Thursday but maybe Friday' message, extract the intent, check availability, and respond naturally.

Do you use GPT-4o or Claude? How do you choose?

It depends on the task. GPT-4o with function calling is best for structured data extraction, booking flows, and tool use. Claude 3.5 Sonnet/Haiku is better for customer-facing text where tone consistency matters — it's harder to make sound robotic. For most setups I run a hybrid: Claude for the customer-facing layer, GPT-4o-mini for the background data work.

Can agents access my existing booking system or CRM?

Yes, if it has an API (which most do — Calendly, Acuity, Square, Mindbody, GoHighLevel, HubSpot, Salesforce all do). I map the API endpoints into OpenAI function definitions or n8n HTTP nodes, so the agent can read availability, create bookings, and update contact records in real time.

How do you handle hallucinations or wrong answers?

For customer-facing agents I use RAG (retrieval-augmented generation) — the agent answers only from your approved content, not from general training data. I set confidence thresholds: if the retrieval score is below the threshold, the agent escalates to a human instead of guessing. Critical actions (booking creation, refunds) always require explicit confirmation steps.

What does a typical build cost and how long does it take?

A single-agent setup (e.g. missed call text-back + FAQ bot) typically takes 1–2 weeks and runs $800–$2,000 one-time depending on integration complexity. A full multi-agent pipeline (lead responder + booking + no-show reducer + reactivation) is 3–5 weeks, $2,500–$5,000. Monthly tool costs run $50–$200 (API calls, n8n hosting, Twilio). I provide full documentation so you can manage and update it yourself.

What happens when the AI gets something wrong or a customer complains?

Every agent has a human escalation path. The fallback triggers when: confidence score is low, the customer uses escalation keywords ('speak to a person', 'this is wrong'), or the conversation exceeds a set turn limit without resolution. You get a Slack/SMS alert with full conversation context so you can step in immediately. Nothing gets auto-resolved without a clear success condition.

Ready to brew up better results?

Let's take a look at your current setup — totally free, no pressure.

Get Your Free Marketing Audit