GrowthBotz AI Platform Development

Job ID: 40408089

Budget: $750 – $1,500 USD

Below is a condensed version under 10,000 characters.

**GrowthBotz — Developer Scope Summary**

GrowthBotz is a modular AI automation platform for local service businesses, built on WeaveMind using Weft. It automates lead generation, outreach, booking, review recovery, follow-up, FAQ handling, marketing creative, client management, CRM syncing, and reporting.

Core principles:
**Stackable:** each bot runs independently.
**Mergeable:** all bots share data through PostgreSQL.
**Copy-pasteable:** each group has clear inputs/outputs.
**Multi-client:** data is intended to be namespaced by client ID.

## Core Infrastructure

GrowthBotz uses one shared PostgreSQL database as the source of truth, plus a shared LLM configuration using Claude Sonnet 4.6 at temperature 0.4.

Required integrations include Twilio, Gmail, Google Calendar, Google Business Profile, Google Sheets, Apollo, Tavily, Telegram, ZeroBounce, Bland.ai, SendGrid, and optional CRM providers such as HubSpot or Pipedrive.

## Main Triggers

The system listens for:

* Twilio missed calls
* Twilio inbound SMS
* New reviews
* Website/customer intake messages
* FAQ questions
* SendGrid events
* Telegram commands
* Gmail inbox messages
* Daily outreach cron
* Nurture cron
* Reminder cron
* Hourly pre/post appointment recap cron
* Daily task summary cron

## Database Key Patterns

Important PostgreSQL keys include:

* `lead_{phone_or_email}` — lead profile and cadence data
* `client_{phone}` — missed call or intake customer profile
* `booking_{phone}_{date}` — booking record
* `convlog_{phone}` — conversation history, capped at 100 entries
* `task_{timestamp}` — task records
* `circuit_{bot}_{phone}` — circuit breaker state
* `client_config_{id}` — client configuration
* `active_client_{endpoint}` — active client ID
* `reminder_*`, `recap_pre_*`, `recap_post_*` — deduplication flags
* `email_tracking_{email}` — SendGrid tracking events
* `client_onboard_{name}` — onboarding and strategy profile

## Main Features

### Missed Call Text-Back

Triggered by a Twilio missed call webhook. It creates or updates a client profile, generates a warm SMS under 160 characters, and sends it through Twilio. If DB lookup fails, the SMS still sends with available context.

### Booking Bot

A human form collects customer details, desired date/time, and service. The bot checks Google Calendar, saves a booking, sends a confirmation SMS, then sends a pre-appointment SMS. If calendar fails, the booking proceeds with a note.

### Review Recovery

Triggered by a new review webhook. Only reviews rated 3 stars or lower continue. The LLM drafts an empathetic response, a human approves or edits it, and approved replies are posted to Google Business Profile.

### Follow-Up Bot

A form generates a warm follow-up SMS after a visit. It references customer name and visit context when available and stays under 160 characters.

### Intake Bot

Extracts name, phone, email, and service from raw customer messages. It validates phone numbers and only saves profiles when the phone has at least 7 digits.

### FAQ Bot

Answers customer questions using business context and brand voice. Responses are sent by SMS and kept under 300 characters.

## Lead Pipeline

### Add Lead

Manual form creates a lead with status `new`, cadence day `0`, next outreach set to now, response count `0`, and qualification `pending`.

### Apollo Scraper

Searches Apollo by industry, location, and title. It enriches contacts, reveals phone numbers, and saves up to `max_leads` records.

### Outreach Engine

Runs daily at 9am. It queries due leads, skips disqualified/booked/completed leads, caps sends at 30/day, and sends SMS and email according to a 4-step cadence:

1. Initial intro
2. Social proof follow-up
3. Case study follow-up
4. Final soft close

After step 3, the lead is marked completed and pending review.

### Inbound SMS Guardrails

Handles replies. It checks a circuit breaker, fetches recent conversation history, and generates a guarded SMS response. The bot must steer toward booking, avoid pricing, avoid promises, and stay under 160 characters.

Intent labels:
`ready_to_book`, `interested`, `objection`, `off_topic`, `hostile`, `confused`.

### Lead Qualification

Classifies replies into:

* `book` → booked, no next outreach
* `nurture` → nurturing, next outreach in 14 days
* `disqualify` → disqualified, next outreach in 180 days
* `drip` → drip, next outreach in 180 days

### Response Alerts

After qualification, sends a Telegram alert with phone, message excerpt, intent, qualification, and bot reply.

### Nurture Campaign

Runs daily at 10am. Processes nurturing leads due for outreach every 14 days. After 6 nurture touches, leads move to drip.

## Additional Tools

* **ZeroBounce:** verifies email validity.
* **Tavily:** researches businesses and identifies automation opportunities.
* **Google Calendar:** creates events and sends daily appointment reminders.
* **Gmail Processing:** classifies incoming emails and auto-replies only to inquiries.
* **CRM Sync:** supports HubSpot and Pipedrive; Salesforce and Zoho are placeholders.
* **Conversation Review:** lets users inspect and manually update a lead.
* **Pre/Post Recap:** sends appointment prep and recap messages around scheduled bookings.
* **Task Manager:** Telegram task creation, completion, listing, planning, and daily summaries.
* **Bland.ai Voice Agent:** sends pre-call SMS, places AI voice calls, polls for results, logs transcript, and emails recap.
* **SendGrid Tracking:** sends tracked emails and logs opens, clicks, and bounces.
* **Domain Health Check:** checks SPF, DKIM, DMARC, and MX records.
* **Client Onboarding:** researches a client and generates a profile plus strategy brief.
* **Google Sheets Export:** exports lead pipeline data.
* **Website Prompt Generator:** creates V0 prompts and technical site specs.

## Telegram Command Center

Telegram supports:

Pipeline:
`/leads`, `/stats`, `/qualify`, `/history`, `/pipeline`, `/search`

Tasks:
`/task`, `/done`, `/tasks`, `/plan`

Clients:
`/client list`, `/client add`, `/client switch`, `/client set`, `/client info`, `/client delete`

Marketing:
`/strategy`, `/copy`, `/audience`, `/visual`, `/analyze`, `/iterate`

Natural language messages are treated as marketing briefs.

## Multi-Client Limitation

Client configs exist, but full isolation is not complete. Current pipeline commands still query global `lead_*` records. Full isolation requires switching to client-prefixed keys such as:

* `{active_client}_lead_*`
* `{active_client}_convlog_*`
* `{active_client}_booking_*`

Each client should also use its own Twilio number and sender email.

## Cron Schedule

* 8am: task summary
* 8am: appointment reminders
* 9am: outreach engine
* 10am: nurture campaign
* Hourly: pre/post appointment recap

Each cron is gated by a `trigger_time` input so workflows only run when scheduled, not on project start.

## Error Handling

GrowthBotz relies on:

* Null propagation for graceful skipping
* Circuit breaker after 3 failures with 30-minute cooldown
* HTTP try/except with 10–15 second timeouts
* Deduplication keys for reminders and recaps
* Independent per-lead processing so one failure does not stop the batch

## Deployment Checklist

Before launch:

1. Add all API keys.
2. Connect Twilio SMS and missed call webhooks.
3. Create and configure Telegram bot.
4. Set authorized usernames and chat ID.
5. Configure SendGrid webhook.
6. Activate all cron triggers.
7. Activate Telegram and Gmail receive triggers.
8. Add first lead manually or through Apollo.
9. Test using dummy data.
10. Monitor with `/stats` and `/leads`.

## Known Limitations

* Multi-client isolation incomplete
* Bland.ai uses polling, not webhook completion
* No Google Docs/Drive integration
* No social media DM outreach
* V0 prompts require manual paste
* Salesforce/Zoho need OAuth setup
* SMS sending code is duplicated across several groups
Related categories: AI Writing Chatbot Integration