The four intake channels this system handles: (1) Phone call only, (2) Phone call followed by a text with job details, (3) Text or email with job details sent directly, (4) PM submits through the website booking form.
Before opening any form, identify how this job came in. Each channel routes to a slightly different data-collection process. The GHL record you build is identical — only how you capture the raw info differs.
- Property street address + city
- Bedrooms / unit size
- Square footage (if they know it)
- Move-out / access date
- Services needed (Rent Ready, cleaning, add-ons)
- How to access the unit (lockbox, key, PM lets you in)
- PM name, phone, email confirmed
- Any special instructions or known issues
- Call back within 15 minutes — "quick follow-up"
- Or text: "Quick question on the [address] job — what's the sqft on that unit?"
- Never guess on sqft or access — both affect pricing and scheduling
- If you can't reach them, pull sqft from Zillow/Redfin listing as a fallback — note it as estimated
- "Perfect — send me the address and move-out date and I'll get it set up"
- Confirm which services they want if unclear
- Confirm their preferred contact method for the confirmation
- Nothing else needed — the text does the work
- Open the Job Setup — Text/Email Intake form in GHL
- Copy all details directly from the message
- Screenshot or forward the text for documentation
- Proceed to GHL job record setup immediately
- PM sends job details without calling first — increasingly common with established clients
- Treat exactly like the Call + Text path: open the Text/Email Intake form, fill from their message
- If any required field is missing (sqft, access, services), reply immediately to ask — don't sit on it
- Reply acknowledging receipt within 15 minutes: "Got it — I'll have confirmation to you shortly"
- PM name, phone, email, contact preference
- Property address, city, zip
- Bedrooms, bathrooms, approx sqft
- Move-out date and access instructions
- Services: Rent Ready + optional cleaning
- Open notes / special instructions
- Confirm GHL contact record is linked to this submission
- Assign job number and populate all GHL custom fields
- Calculate estimated cost using the Quote Builder
- Trigger vendor assignment per System #15
- Send PM confirmation within 1 hour of submission
Once intake data is collected (through whichever channel above), every job follows the same 6-step setup process in GHL.
Every job is attached to a PM contact record. Before you create a job record, confirm the PM exists in GHL and that their record is complete. Do not create duplicate contacts.
- Search GHL contacts for the PM by name or phone number
- If found: Open the record — verify phone, email, and company are current. Update if anything has changed.
- If not found: Create a new contact. Name, company, phone, email, preferred contact method, and lead source = "Referral / Inbound" unless you know otherwise.
- Tag the contact with their pipeline stage (Active Client if they're sending jobs)
- Note their GFN status in the contact record — this should already be YES if they're sending work
Every job gets a unique job number used on invoices, in vendor communications, on photo folders, and in all follow-up records. It never changes after assignment.
- GHL opportunity record — custom field "Job Number"
- Invoice header
- TimeMark photo folder name
- Vendor dispatch text/message
- PM confirmation message
Create a new opportunity in GHL under the PM's contact record. Every field below must be populated before you move to Step 4.
Open the Cost Analysis & Quote Builder in a separate tab. Enter bedrooms and sqft for the services requested. Copy the client price and sub cost figures back into the GHL job record.
- Open Cost Analysis tool — select the bedroom count
- Check all services that apply to this job
- Enter sqft for any cleaning or carpet services
- Copy Client Quote Total → paste into GHL field "Estimated Client Price"
- Copy Sub Cost Total → paste into GHL field "Estimated Sub Cost"
- Margin calculates automatically if you have a formula field set up — otherwise subtract manually and note it
Once the GHL record is complete and cost is calculated, assign vendors per service type. The full vendor assignment process is covered in System #15 — this step is the trigger point.
- GHL job record is fully populated
- Estimated cost is calculated and entered
- Access date and method are confirmed
- Deposit confirmed (paint jobs only)
- Pipeline stage set to "Vendor Pending"
- Primary vendor name logged in GHL per service
- Vendor dispatch text/message sent with job number, address, access, date, and scope
- Vendor confirmation received and logged
- Pipeline stage advances to "Vendor Confirmed"
Once vendors are assigned and confirmed, send the PM a confirmation message. This closes the intake loop, gives them a reference number, and sets expectations on timeline and deliverables. Full protocol in System #20.
- Job number assigned and entered in GHL
- PM contact record linked
- All required GHL fields populated
- Estimated price and sub cost entered
- Vendor(s) assigned and confirmed
- TimeMark photo folder created with job number as name
- PM confirmation sent
- Pipeline stage = "Job Active — In Progress"
| # | Form Name | Used For | Used By | Priority |
|---|---|---|---|---|
| 1 | Job Intake — Phone | Capturing job details from a phone-only call. Fill during or immediately after the call. | Internal (you only) | Build First |
| 2 | Job Intake — Text / Email | Transcribing job details from a PM text or email. Doubles for Call + Text path. | Internal (you only) | Build First |
| 3 | New Job Setup — Full Record | Populating all GHL custom fields on the opportunity record. Used after intake regardless of channel. | Internal (you only) | Build First |
| 4 | Vendor Assignment / Dispatch | Logging which vendors are assigned per service. Built under System #15. | Internal (you only) | Build Second |
| 5 | PM Job Confirmation Template | GHL message template sent to PM after vendor assignment. Full templates in System #20. | GHL automation / manual trigger | Build Second |
Run through these criteria in order — stop at the first filter that narrows you to one vendor. If two vendors are equal at any criterion, move to the next one to break the tie.
Open the GHL opportunity for this job. Confirm the service list is finalized and the access date is set. You cannot assign vendors if you don't know what services are needed and when.
- 1Open the GHL opportunity — confirm pipeline stage is "Job Confirmed — Pending Vendor"
- 2Read the services field — note every service required (some jobs need multiple vendors)
- 3Confirm the scheduled service date and city
- 4Check if a deposit is required (paint) — if yes, confirm deposit received before proceeding
Go to your vendor roster in GHL. Filter by service type, then city. The result should be a short list. You'll confirm availability by contact in the next step.
- Service type: handyman / cleaning / carpet-steam / carpet-replace / drywall / paint
- Territory: pinal-county / east-valley / both
- Roster tier: primary / secondary / tertiary
- Status: active / inactive / do-not-use
- Stop — do not guess from memory
- Open vendor contact records manually
- Tag them before proceeding
- A 5-minute tagging fix now saves a mis-assignment later
Don't send the full job brief yet. Make a fast availability check first. This keeps the work order clean — you only send it when you have a confirmed yes.
- 1Wait up to 2 hours for a response before moving to secondary vendor
- 2If no response: call once. Still no response: move to secondary
- 3If they say yes: log in GHL and proceed to Step 4 (send Work Order)
- 4If they say no: thank them, log unavailability in GHL, move to secondary
Every service type needs at least a primary and a secondary vendor in your roster before you take jobs at volume. Here's the escalation order when primary is unavailable.
| Attempt | Vendor Tier | Wait Time Before Moving On | Action if No Response |
|---|---|---|---|
| 1st | Primary | 2 hours (text first, then 1 call) | Move to Secondary |
| 2nd | Secondary | 1 hour | Move to Tertiary or recruit |
| 3rd | Tertiary / Overflow | 1 hour | Call PM — be transparent, adjust timeline |
| Last resort | New vendor outreach | Same-day only | If no vendor by EOD — call PM immediately |
Once a vendor confirms availability, update the GHL job record before sending the work order.
Fill the fields below and the work order builds live. Copy text version to send via text — copy email version for multi-service or complex jobs. Send within 30 minutes of vendor confirmation.
Photos are not optional. They protect GHP, protect the vendor, and are the foundation of the UCR delivered to the PM. A vendor who doesn't photo-document cannot be used at volume.
- Within 2 hours of vendor confirmation (System #15 complete)
- Never before vendor is confirmed — don't promise what isn't locked
- Sent in parallel with the Work Order to the vendor
- If job came in via website form, target under 1 hour
- Send a confirmation before vendor is confirmed — you may have to walk it back
- Send a generic "got your job" reply with no details or job number
- Wait until the day before the job to confirm — that's a reminder, not a confirmation
- Let a PM go more than 4 hours without acknowledgment during business hours
Send via the PM's preferred contact method as recorded in their GHL contact record. When in doubt, match the channel they used to send the job.
| How Job Came In | Default Confirmation Channel | Note |
|---|---|---|
| Phone call only | Text (with full details in writing) | Call first if they called — then follow up with written confirmation text |
| Call + text | Text reply to their thread | Keeps the conversation continuous and easy to reference |
| Text / email from PM | Reply in kind (text → text, email → email) | Match their medium — don't switch channels unexpectedly |
| Website booking form | Email (auto-triggered from GHL) + text follow-up | Email for documentation; text to make it feel personal and real-time |
The job number is the PM's reference for any follow-up question. Give it to them up front so they have it.
List the address and the services. This is proof that you received their information correctly. If there's a typo in the address or a service got missed, this is where the PM catches it — before the vendor shows up to the wrong place.
Tell them when the work will happen. This is the most important practical piece — it's what the PM needs to answer if their tenant or owner asks "when is the unit getting turned over?"
- State it directly: "Scheduled: Tuesday, March 18"
- Don't give a range if you have a confirmed date
- Be honest: "Scheduled within the 48-hr window of March 17–18"
- Never imply a specific date if the vendor only committed to a window
Every PM confirmation must state what they'll receive when the job is done. This is a professional commitment — it removes any ambiguity about what GHP's deliverable is.
Tell them nothing is required from them. This is the professional signal that GHP has it handled.
| Template Name | Type | Channel | When to Use |
|---|---|---|---|
| PM Confirmation — Text | GHL Message Template | SMS / Text | Most jobs — default for phone/call+text/text-only intake |
| PM Confirmation — Email | GHL Email Template | Website form submissions and email-preference PMs | |
| PM Confirmation — Call + Text Combo | Call script note + text template | Call first, text to follow | High-value PMs or first-job situations where a personal call adds trust |