
Two workflows,
end to end.
A Maven AGI voice agent that reschedules and cancels Zoho FSM Service Appointments – across ~9,000 subscribers and 400–700 daily calls – without ever touching the parent Work Order.
The problem is repetitive. The solution is bounded.
A meaningful share of GeeksonSite's daily call volume is routine appointment reschedule and cancel requests. Today, each one pulls an agent into Zoho CRM, over to a linked FSM Work Order, and into a hand-edit on the Service Appointment.
Both flows are deflectable. The customer-facing steps – identify the account, offer a window of open times, move or cancel the appointment – are well-suited to AI. Dispatcher rate negotiation and retention rebooking stay with humans, exactly as they are today.
This plan delivers a Maven AGI integration that handles both workflows end to end across Zoho CRM, Zoho FSM, TextMagic, and email – inside GeeksonSite's existing Zoho Professional plan.
Reschedule and Cancel, both bounded to the Service Appointment.
Reschedule
Identify the caller
Zoho CRMPhone search against Zoho CRM. Zero matches → human handoff. Multiple → confirm by name or address.
Find the appointment
Zoho FSMTraverse from account to linked Work Orders and open Service Appointments. Disambiguate by ticket ID first, then next-upcoming.
Confirm before changing
Read the appointment (date, time, address, ticket ref) back to the caller before touching anything.
Offer a curated slot set
Zoho FSMQuery available slots across a 2–3 day window, filtered by service territory and skill. Present a bounded set – never a raw list.
Commit date and time only
Update the Service Appointment. No technician lock-in. FSM round-robin re-routes to a dispatcher for negotiation, exactly as today.
Cancel
Identify & confirm
Steps 1–3 mirror reschedule: phone → account → appointment → read-back confirmation.
Capture a reason
Prompt for cancellation reason. If declined, default to "Customer declined to specify" so the cancellation is still recorded.
Blueprint cancel – Service Appointment only
Zoho FSMDynamically resolve the current 'Cancel' transition and commit it with the reason written to the mandatory Notes field.
Preserve the Work Order
GuardrailEnforced in code and validated by a monitored guardrail. Retention rebooks against the parent WO.
Fan-out notifications
TextMagic + EmailIn parallel: SMS to the technician (TextMagic), email to the technician, email to Retention. Durable per-channel retry.
Four systems. One orchestrator. One guardrail.
Maven sits between the voice channel and GeeksonSite's stack. Every outgoing write is scoped – reschedule touches only the Service Appointment date/time, and cancel touches only the Service Appointment blueprint. The Work Order is never mutated.
Four phases. Three buffers. Eighteen weeks.
Each build phase is followed by a stabilization week. Nothing moves forward until the previous phase is proven in sandbox.
Foundation & Configuration
Access, credentials, sandbox validation, configuration discovery.
Stabilization Buffer
Foundation items green before workflow work begins.
Reschedule Workflow
Caller ID, disambiguation, slot discovery, reschedule commit.
Stabilization Buffer
Reschedule proven end to end in sandbox.
Cancel Workflow & Notifications
Blueprint transitions, Work Order guardrail, durable notification pipeline.
Stabilization Buffer
Cancel and notifications proven before go-live prep.
Testing, UAT & Go-Live
End-to-end validation, GeeksonSite UAT, production cutover.
What "done" looks like.
Who owns what.
Every risk has a written mitigation.
Hard code-level guardrail restricting cancel to the Service Appointment. Monitored counter must remain zero; any occurrence is a Priority 0 alert. Explicit test coverage before go-live.
Multi-channel (email + SMS) with independent per-channel retry. Durable delivery survives process interruption. Terminal-failure alert if all retries exhaust.
Reschedule edits an existing appointment; cancel removes one – neither workflow increases count. Monitor usage; revisit plan tier if retention rebooking shifts volume.
Parallelized within Zoho rate limits, presented slot set is capped, latency benchmarked before go-live.
Multi-mode territory resolution with fixed-territory fallback. If no slots, offer widened window or graceful handoff.
Appointment is always read back for explicit confirmation before commit. Optional name / service-zip confirmation added in Phase 1 if GeeksonSite requires.
All calls rate-limit-guarded. Daily and per-minute credit usage monitored; alert as ceiling approaches.
Clear reference cues (ticket ID, date, address). Disambiguation rule defined jointly in Phase 1: ticket-ID-first, then next-upcoming.
Independent per-channel retry; one failing channel doesn't affect the other. Terminal-failure alert surfaces affected appointments for manual outreach.
Phase 1 explicitly confirms blueprint, territory, and skill config mirror production. Gaps closed before Phase 2 begins.
Nine checkpoints between kickoff and rollout.
Foundation complete
OAuth verified in sandbox; all config inputs collected; connectivity green across Zoho CRM, FSM, TextMagic, and email.
Foundation stabilization
Outstanding foundation blockers cleared before workflow development begins.
Reschedule complete in sandbox
End-to-end reschedule succeeds with unmodified Work Order and unlocked technician; slot discovery within voice-latency target.
Reschedule stabilization
Reschedule proven stable across representative scenarios.
Cancel & notifications complete
Cancel leaves WO open, writes Notes, delivers all notifications, resumes across simulated interruption.
Cancel stabilization
Cancel and notification pipeline stable across full edge-case matrix.
GeeksonSite UAT sign-off
Operations, dispatch, and retention teams sign off; voice scripts and notification content approved.
Production go-live
Cutover checklist signed; monitoring dashboards live; runbook handed off.
Post-go-live monitoring
24-hour, 1-week, and 2-week check-ins; containment and delivery targets reviewed jointly.
Already proven Maven workflows, and what will stay with Geeks on Site.
Some items below are proven Maven capabilities that GeeksonSite has already seen and could be added as follow-on phases. Others are business decisions that stay with GeeksonSite by design. Each is called out so the scope boundary is clear without implying a capability limit where none exists.
Proven Maven capabilities available for future phases
Maven has already demonstrated or has a live reference customer for each of these. Not built into this implementation, but layerable as follow-on scopes once reschedule and cancel are stable in production.
Monthly tune-up outbound reminder calls
Demonstrated live on the July 14 call using the Antidote Health reference customer's voice agent (subscriber authentication, in-call tune-up booking, SMS confirmation). Ready to adapt as a follow-on phase.
New inbound appointment booking
Demonstrated in a prior session. A caller with no prior appointment can book a first-time visit end to end.
Post-dispatch appointment confirmation calls
Raised by Freddy on the July 14 call. Same outbound pattern as tune-up, triggered by a Zoho FSM state change when the dispatcher confirms tech assignment.
Test-and-done verification workflow
Slack-triggered outbound call to verify a remote fix, with Zoho Desk closure on a positive response and handoff to a live agent otherwise.
Outbound phone-call notification to the technician on cancel
Email + SMS ship in Phase 3. The notification pipeline is designed so a phone-call channel can be added later without redesign.
Business boundaries that stay with GeeksonSite
Handled by GeeksonSite by design. Not part of any Maven scope, current or future.
Dispatcher-to-technician negotiation call
After a reschedule, negotiation on rate and availability continues with a GeeksonSite dispatcher exactly as it is today. FSM round-robin re-routes the moved appointment for follow-up.
Refund issuance
All refund decisions are made by GeeksonSite's retention team. The voice agent makes no statement about refunds. The retention email hands the customer off for human follow-up.
Locking a specific technician into a reschedule slot
Consistent with today's process, the AI offers open windows without guaranteeing a specific technician. Assignment is finalized by the dispatcher.
Ten items to close in Phase 1.
None of these block engagement start. Each is tracked as a configuration or product-decision input for Foundation.
- 01Exact Zoho CRM related-list API name linking Account/Contact to the FSM Work Order.
- 02Territory resolution mode: appointment-inherited, address-derived, or single fixed territory.
- 03Zoho FSM skill IDs mapped to common job types for slot filtering.
- 04Exact label of the 'Cancel' transition on the Service Appointment blueprint.
- 05Whether ANI alone is sufficient for cancel, or a name / service-zip confirmation is required.
- 06Confirmation of the cancellation-reason policy (prompt but don't block; default when declined).
- 07Confirmation of the multi-appointment tiebreak: ticket ID first, then next-upcoming.
- 08TextMagic credentials & rate tier; email send path; retention distribution address.
- 09How commonly appointments lack an assigned technician; completeness of Service Resource contacts.
- 10Confirmation that FSM round-robin reassigns rescheduled appointments to a dispatcher when technician fields are omitted.