AI-powered CRM assistant for Complete Home Painting — built on OpenClaw + Claude
2
Authorized users
5
Automated flows
6
Pipeline stages
24/7
Always on
What Gabriel can do
CRM management
Create leads, update pipeline stages, add notes, set follow-up dates, log costs, and set job values — all via plain English in Telegram.
Email automation
Sends branded emails from jacob@ or john@ based on who issues the command. Templates for every stage: intro, bid confirmation, follow-ups, won, lost.
Calendar control
Schedules and cancels appointments on Jacob's or John's Google Calendar. Sends bid confirmation emails automatically after scheduling.
Pipeline reporting
Real-time pipeline queries, margin reports, close rate, cold leads, follow-ups due today, and revenue totals — all pulled live from Notion.
Voice intake
Send a voice message to Telegram and Gabriel transcribes it via Whisper, confirms what it heard, and executes the command.
Assessment drafts
When a homeowner completes the website quiz, Gabriel auto-generates a personalized email draft using blog content and CHP knowledge.
How it connects
input
Telegram
Jacob or John
→
brain
Gabriel
Claude Haiku
→
database
Notion
Lead records
→
comms
Gmail
jacob@ / john@
→
scheduling
Calendar
Google Cal
Everything Gabriel understands out of the box. All commands are issued in plain English via Telegram — no special syntax required. If Gabriel needs clarification, he will ask before acting.
CRM commands
CRM
Create a lead
"New lead: Sarah Jones, 205-555-0100, exterior painting, Google"
CRM
Update pipeline stage
"Move Sarah Jones to Bid Scheduled" — triggers auto-actions per stage
CRM
Add a note
"Add note to Sarah Jones: prefers afternoons, has a dog"
CRM
Set job value
"Set value for Sarah Jones to $4,200"
CRM
Log a cost
"Log cost for Sarah Jones: $380 materials"
CRM
Set follow-up date
"Set follow-up for Sarah Jones to next Friday"
Email commands
Email
Send intro email
Sends from whoever issued the command — jacob@ or john@
Email
Send follow-up
Cycles through 3 follow-up templates, logs each attempt
Email
CONFIRM:[email]
Sends pending estimate email from john@ for form submissions
Calendar commands
Calendar
Schedule appointment
"Schedule Sarah Jones for Tuesday at 2pm" — creates event + sends confirmation
Calendar
View calendar
"What's on my calendar this week?"
Calendar
Cancel appointment
"Cancel Sarah Jones's appointment" — deletes event, logs activity
Calendar
Add calendar event
"Add 'touch base with Maxine' to my calendar Monday 9-9:15am"
Reporting commands
Report
Show my pipeline
Live summary grouped by stage with total values
Report
Margin report
By lead, period (30/60/90 days), job type, or source
Report
Cold leads / due today / bids scheduled
Filtered pipeline views pulled live from Notion
Gabriel manages your full sales pipeline in real time. Every stage change triggers automatic follow-up actions so nothing falls through the cracks — from the moment a lead comes in to the day a job is won or closed.
Google · Referral · Social Media · Partner · Repeat Customer
Gabriel runs in the background so you do not have to. From morning briefings to follow-up reminders to form submissions, everything routes to your group chat automatically — giving you full visibility without adding to your workload.
Scheduled automations
Daily 9am
Morning briefing
Follow-ups due, cold leads, pipeline summary → group chat
Daily 10am
Follow-up reminder
Leads with follow-up date = today → group chat
Every 5 min
Form watcher
Checks john@ for new Squarespace estimate form submissions
Daily 9am
Follow-up checker
3-day and 7-day follow-up drafts → group chat for approval
Webhook automations
Webhook
Assessment quiz submission
Homeowner completes quiz → Gabriel generates personalized email draft using blog knowledge → group chat
Webhook
Estimate form submission
Form submitted → Notion lead created → calendar checked → draft sent to group chat for CONFIRM approval
Assessment email flow
trigger
Quiz submitted
completehomepainting.com
→
enrich
Blog knowledge
CHP knowledge base
→
draft
Claude writes
Personalized email
→
review
Group chat
Jacob approves
→
send
Gmail
jacob@ sends
Estimate form flow
trigger
Form submitted
Squarespace
→
create
Notion lead
Auto-created
→
check
Calendar
Next available slot
→
draft
Group chat
CONFIRM to send
→
send
john@ sends
CC jacob@
A full picture of the technology stack powering Gabriel — every service, integration, and file that keeps the system running. Hosted on a dedicated VPS with SSL, Docker, and automatic certificate renewal.
Once a job is won, Gabriel tracks it through completion. Log costs as they happen, monitor margin in real time, and keep a full timestamped activity log on every job — so you always know exactly where each project stands and what it is worth.
Job lifecycle
stage
Won
Project: Not Started
→
stage
In Progress
Project: In Progress
→
stage
Complete
Project: Done
Job tracking commands
Track
Set job value
"Set value for Sarah Jones to $4,200" — records the contract amount
Track
Log a cost
"Log cost for Sarah Jones: $380 materials" — adds to running cost total
Track
Update project status
"Move Sarah Jones to In Progress" or "Mark Sarah Jones as Done"
Track
Add a note
"Add note to Sarah Jones: started demo today, found additional rot on east wall"
How margin is calculated
Margin $
Value minus total logged costs. Gabriel calculates this on demand — never estimates.
Margin %
(Value − Cost) ÷ Value × 100. Reported per job or across a time period.
Cost logging
Each cost entry is additive — Gabriel appends to the running total and logs every entry with a description in the Activity Log.
Activity log
Every action Gabriel takes on a lead is timestamped and appended — stage changes, emails sent, costs logged, notes added.
Notion views
Pipeline board
Kanban grouped by Proposal Status. Won and Lost columns hidden. Active leads only.
Active jobs table
Filtered to Won, grouped by Project Status. Shows all jobs currently in flight.
Archive table
Filtered to Won + Done, sorted by date added descending. Full job history.
Ask Gabriel anything about your business and get a live answer pulled directly from Notion. No spreadsheets, no manual reporting — just ask. Every number is real-time and every report is formatted for clean reading in Telegram.
Pipeline reports
Pipeline
Full pipeline summary
"Show my pipeline" — groups all active leads by stage with total value per stage
Pipeline
Bids scheduled
"Show bids scheduled" — all leads at Bid Scheduled stage
Pipeline
Follow-ups due today
"What follow-ups are due today?" — leads with Follow Up date = today
Pipeline
Cold leads
"Show cold leads" — Follow Up blank or more than 7 days ago
Pipeline
High value leads
"Show top leads by value" — top 5 sorted by Value descending
Pipeline
Close rate
"What is my close rate?" — Won ÷ (Won + Lost)
Margin reports
Margin
Individual job margin
"What is the margin on Sarah Jones?" — Value minus Cost, with margin %
Margin
Period margin report
"Show margin for the last 30 days" — 30, 60, or 90 day periods supported
Margin
Margin by job type
"Show margin by job type" — grouped by Interior, Exterior, Cabinets, etc.
Margin
Margin by source
"Show margin by source" — grouped by Google, Referral, Social Media, etc.
Revenue reports
Revenue
Total revenue
"Show total revenue" — sum of Value for all Won leads
Revenue
Revenue by period
"Show revenue for the last 90 days" — filtered by date added
How reports are formatted
Always live
Every report queries Notion in real time — Gabriel never guesses or uses cached data.
Bullet points only
All pipeline and margin output uses bullet points. No tables. Designed for clean reading in Telegram.
Won vs pipeline
Margin reports clearly split actual revenue (Won) from estimated pipeline value and label each separately.
Daily briefing
Every morning at 9am Gabriel sends a pipeline snapshot to the group chat — follow-ups due, cold leads, and stage totals.