Skip to main content
EnFlow Labs
Phase 03 Deliverable — Confidential

Implementation
Summary

ClientSerene Aesthetics & Wellness
IndustryMedspa + Wellness
Go-LiveAugust 2026
Build LeadEnFlow Labs

Engagement Scope

Architecture reference

Phase 02 Automation Architecture — May 2026

Locations in scope

4 — Tampa, St. Petersburg, Clearwater, Sarasota

Implementation duration

June 2 → August 22, 2026 — 12 weeks

EnFlow OS modules activated

Pipelines · ScoreFlow · AutoFlow · CampaignFlow · InsightFlow

AI agents deployed

4 — Intake, Scheduling, Compliance, Insight

Integrations connected

Vagaro · HubSpot · Twilio · JotForm Health · Meta · Google Business


Implementation Summary — Key Numbers

23
AutoFlow workflows deployed and running
4
AI agents live across all locations
6
External integrations connected at API level
94%
Automation coverage on previously manual workflows

Architecture version executed

v1.0 — Final (approved May 16, 2026)

Go-live authorization

Serene Aesthetics & Wellness — August 22, 2026

Section 01

Executive Summary


Client Background

Serene Aesthetics & Wellness is a four-location medspa and wellness practice operating across Tampa, St. Petersburg, Clearwater, and Sarasota. The practice offers medical aesthetics (Botox, dermal filler, laser treatments), body contouring, and wellness memberships. At the time the Phase 01 Audit began, Serene was generating $4.2 million in annual revenue with a team of 31 across all locations — and spending an estimated 112 hours per week on workflows that had no automation covering them at all.

The business had the right tools in place: Vagaro for bookings and client management, HubSpot for CRM, Twilio credentials provisioned but unused, and a Meta ad account generating 180–220 inbound leads per month. None of these systems communicated. Lead inquiries from Instagram and Google were answered manually by front desk staff when time allowed. HubSpot had been running for eight months at $680 per month with no pipeline, no automation, and no data in it. Post-visit follow-up was happening at one location and not the other three.


Goals Entering Phase 03

1.

Reduce inbound lead response time from 5.5 hours to under 90 seconds across all channels and locations.

2.

Automate post-visit follow-up for every completed appointment — not just the Sarasota location.

3.

Activate ScoreFlow membership health monitoring and trigger reactivation before the 30-day lapse threshold.

4.

Give ownership real-time performance visibility across all four locations without management assembly time.

5.

Achieve 90%+ automation coverage on the 112 hours per week of rule-based manual workflows identified in the Audit.


Challenges Encountered During the Build

The Vagaro API presented the most significant integration complexity. Vagaro does not natively support outbound webhooks for all event types — appointment cancellations require polling rather than event-push, which added a sync pipeline component not originally scoped in Architecture. The team resolved this with a 4-minute polling interval on the cancellation event type, which meets the operational requirement without introducing latency that would affect client experience.

JotForm Health required a HIPAA Business Associate Agreement to be in place before any health intake form fields could be connected to the pipeline. The BAA was completed in Week 2 after a 6-day delay from the client's legal review. This pushed the compliance agent deployment to Week 9 but did not affect any other sprint's timeline. All PHI field routing was tested in staging during the delay period so deployment could happen without extending the build.

HubSpot data quality was lower than the Architecture readiness assessment indicated. Of the 3,847 contact records that existed in HubSpot at migration time, 1,204 had no associated phone number and 613 had duplicate entries across locations. The team ran a deduplication and enrichment pass using Vagaro as the source of truth before any automation logic went live against the contact base. This added four days to the Week 1 foundation sprint.


Why Implementation Was Needed

The Audit identified the problem. The Architecture defined the solution. Implementation is what actually changed the operation. Without Phase 03, Serene would have had an excellent document describing how to stop losing $317,000 per year in addressable labor and revenue — and a CRM that still had no data in it. Phase 03 is the only phase where the 5.5-hour response time becomes 47 seconds. Where follow-up sequences actually send. Where ownership wakes up to a dashboard that shows them what happened while they were asleep. The systems are live now. The operation is different.

Section 02

Environment Setup Summary


Tenant Provisioning

Serene Aesthetics & Wellness was provisioned as a single EnFlow OS tenant with four location sub-contexts. All automation logic, pipeline state, and agent behavior is shared at the tenant level — location context is applied at the Contact record via a primary_location field, not via separate tenant instances. This allows unified reporting across all four locations while preserving per-location routing logic where required.

EnvironmentPurposeProvisioning DateStatus at Go-Live
DevelopmentInitial workflow logic, agent prompts, and integration scaffolding built and unit-tested hereJune 2, 2026Active — ongoing iteration
StagingIntegration testing with Vagaro, HubSpot, and Twilio sandbox environments; load testing at 3× peakJune 3, 2026Active — parallel to production
ProductionLive client environment — all real data, real API credentials, real trafficAugust 18, 2026 (soft launch)Live — go-live August 22

Access Control

Roles established at provisioning. Principle of least privilege applied throughout.

RoleAssigned ToSystems and Permission LevelPost-Handoff Status
EnFlow Lead EngineerEnFlow Labs — build teamFull admin — all environmentsRead-only on production post-handoff
Client AdminSerene — Operations DirectorProduction full admin; Staging read-onlyPermanent — primary escalation contact
Location Manager ×4Each location managerDashboard view + task management onlyPermanent — view access only
Compliance OfficerSerene — HIPAA designeeCompliance dashboard + audit log read-onlyPermanent — compliance log access retained

Secrets Management

All credentials are stored in the EnFlow secrets vault, scoped to the Serene tenant. No secrets were committed to version control at any point during the build. Each credential class is documented below with its rotation schedule. The client's Operations Director received the credential handoff record on August 20, 2026 — two days before go-live — and confirmed receipt.

CredentialStorageEnvironmentsRotation Schedule
Vagaro API KeyEnFlow VaultStaging · ProdAnnual — alert fires 30 days before expiry
HubSpot Private App TokenEnFlow VaultStaging · ProdAnnual — auto-alert at 90 days
Twilio Account SID + TokenEnFlow VaultStaging · ProdAnnual — manual rotation on security review
JotForm API KeyEnFlow VaultProd onlyAnnual — HIPAA BAA review triggers rotation check
Meta System User TokenEnFlow VaultProd only60-day expiry — automated rotation via Meta API
Google OAuth Refresh TokenEnFlow VaultProd onlyPermanent token — revoke/re-issue on staff change
Anthropic API Key (agents)EnFlow VaultAllQuarterly — usage caps set per environment
Section 03

Data Model Activation


Entities Activated

EntityDescriptionSource of TruthRecord Count at Go-LiveStatus
ContactEvery lead and client — the primary record every workflow operates onHubSpot (migrated from Vagaro)3,847 (post-dedup)Live
DealRevenue opportunity or booked service — tracks from inquiry through fulfillmentEnFlow OS / HubSpot pipeline412 activeLive
AppointmentScheduled and completed service — linked to Contact, drives all post-visit automationsVagaro (synced to EnFlow OS)Synced in real timeLive
MembershipActive wellness or aesthetics membership — health score computed from this recordVagaro (synced to EnFlow OS)614 active membersLive
CampaignCampaignFlow sequence enrollment — tracks state, channel, and behavioral responseEnFlow OS / CampaignFlowRuntime recordLive
Webhook EventInbound event log — every external system event recorded before routing to pipelinesEnFlow OS (append-only)Runtime recordLive

Custom Fields Activated

Fields added to the standard Contact entity to support Serene-specific scoring, routing, and compliance logic.

Field NameEntityTypePurposePopulated By
primary_locationContactEnumRoutes to location-specific pipelines, agent context, and InsightFlow segmentsIntake Agent
lead_intent_scoreContactIntegerScoreFlow lead qualification score (0–100). Drives routing and sequence enrollmentScoreFlow
health_scoreContactIntegerMembership health indicator. Sub-40 triggers churn prevention workflowScoreFlow (nightly)
days_since_last_visitContactIntegerComputed field. Key input to health score and membership retention workflowsVagaro sync pipeline
visit_count_lifetimeContactIntegerTotal completed appointments. Determines new vs. returning client sequence variantVagaro sync pipeline
sms_consentContactBooleanTCPA consent flag. CampaignFlow checks this before every SMS sendJotForm / Intake Agent
phi_flagContactBooleanMarks contacts with PHI data in JotForm Health — routes to compliance agent pathJotForm pipeline
referral_sourceContactStringAttribution. Populated on intake, used for campaign ROI and InsightFlow source reportingIntake Agent
membership_expiry_dateMembershipDateDrives membership renewal workflow — checked daily at 09:00Vagaro sync pipeline
payment_failed_countMembershipIntegerConsecutive payment failures. Escalation at threshold 2Vagaro sync pipeline

Entity Relationships

Entity ARelationshipEntity BOperational Significance
Contacthas manyAppointmentEvery Vagaro appointment event is linked to a Contact. Post-visit workflows fire from the Appointment, not the Contact, to preserve per-visit targeting.
Contacthas oneMembershipMembership health score is computed at the Contact level. Payment failures and lapse signals bubble up through this relationship to trigger retention workflows.
Contacthas manyCampaignEnrollment history tracked per Contact. Prevents duplicate sequence enrollment — a Contact in an active sequence is excluded from re-enrollment.
Contacthas oneDealActive deal represents the open revenue opportunity. Deal stage gates which workflows fire — no post-visit sequence on a Contact with no closed Deal.
AppointmenttriggersWebhook EventEvery Vagaro appointment event (created, confirmed, completed, cancelled, no-show) writes a Webhook Event record before routing. Enables full audit trail and replay.
Section 04

Integration Setup


VagaroBooking & Client Management
Live

Authentication

OAuth 2.0 — refresh token stored in vault, rotated annually

Sync direction

Bi-directional. Vagaro is source of truth for appointments, client records, and membership data. EnFlow OS reads all, writes none.

Vagaro does not push cancellation webhooks — this event type is handled by a 4-minute polling pipeline (see Section 06, Sync Pipelines).

EventEnFlow OS Action
appointment.createdCreate Appointment entity in EnFlow OS; link to Contact via email; trigger WF-002 Appointment Confirmation
appointment.confirmedUpdate Appointment.status; send 24hr and 1hr reminder via CampaignFlow
appointment.completedUpdate Deal stage; increment visit_count_lifetime; trigger WF-003 Post-Visit Follow-Up
appointment.no_showUpdate Appointment.status; trigger WF-006 No-Show Re-Engagement; update health_score signal
membership.updatedSync membership fields; recompute health_score; check expiry window for WF-005
client.createdCreate or update Contact in EnFlow OS; run deduplication against HubSpot contact base
HubSpotCRM & Pipeline Management
Live

Authentication

Private App token — scoped to contacts:read, contacts:write, deals:read, deals:write, crm.pipelines:read

Sync direction

EnFlow OS is the operational system of record. HubSpot holds the contact and deal data, receives stage updates from EnFlow OS, and feeds behavioral signals to ScoreFlow.

HubSpot data migration was completed June 5, 2026 — 4 days into the build. Post-deduplication record count: 3,847 contacts (down from 4,460 raw records). 613 duplicates merged using Vagaro email as the canonical identifier.

EventEnFlow OS Action
contact.propertyChange (email engagement)Feed open/click signal to ScoreFlow as behavioral weight for lead_intent_score
deal.stageChangeSync to EnFlow OS Deal entity; gate workflow conditions that depend on deal state
contact.createdDeduplication check against Vagaro contact base; merge or link; set primary_location via source tag
form.submissionRoute to WF-001 Lead Intake routing; create Deal if none exists for this Contact
TwilioSMS & Voice Communication
Live

Authentication

Account SID + Auth Token in vault. Webhook endpoints registered with HMAC-SHA256 signature verification. A2P 10DLC registration completed June 10, 2026.

Sync direction

Outbound via CampaignFlow and AutoFlow triggers. Inbound SMS routes to Intake Agent via webhook.

A2P 10DLC campaign approval took 6 business days — accounted for in the Week 2 timeline. All SMS sends are gated on sms_consent == true at the Contact record level. Non-consented contacts receive email-only sequences.

EventEnFlow OS Action
Inbound SMSParse sender; match to Contact by phone number; route to Intake Agent (AGT-001) or pass to active sequence context
SMS delivery.failedIncrement retry counter; switch to email channel after 2 consecutive failures; log delivery event
Voice call.completedLog call duration and outcome to Contact timeline; trigger appropriate follow-up based on call disposition
JotForm HealthHealth Intake Forms & PHI Collection
Live (BAA confirmed July 1, 2026)

Authentication

JotForm API key in vault. HIPAA BAA signed July 1, 2026. PHI field routing enforced at pipeline level.

Sync direction

Inbound only. Health intake form submissions create or update Contacts and set phi_flag where applicable. PHI fields never enter the standard event stream.

The BAA delay (signed July 1, originally targeted June 20) pushed compliance agent deployment to Week 9. Non-PHI intake form fields were tested in staging during the delay period. Compliance agent was deployed 4 days ahead of the revised schedule.

EventEnFlow OS Action
form.submission (non-PHI fields)Create or update Contact; trigger WF-001 Lead Intake; set referral_source and sms_consent from form fields
form.submission (PHI fields)Set phi_flag = true on Contact; route data to PHI store; hand off to Compliance Agent (AGT-003); standard pipeline receives no PHI payload
Meta (Facebook & Instagram)Lead Ads & Social Inquiry
Live

Authentication

System User token — ads_read, leads_retrieval, pages_read_engagement permissions. Page token per managed page (Tampa, Clearwater, Sarasota — 3 pages).

Sync direction

Inbound only. Meta Lead Ads submissions route to EnFlow OS intake pipeline. Instagram DM inquiries are not yet automated (Phase 04 scope).

Meta webhook verification token registered August 1. Webhook re-subscription reminder set in calendar 85 days from go-live (Meta webhooks expire at 90 days).

EventEnFlow OS Action
leadgen.lead_submissionRetrieve lead via Lead Ads API; create Contact if not exists; tag campaign_id and ad_id; trigger WF-001 Lead Intake within 60 seconds
Google Business ProfileReviews & Local Search
Live

Authentication

OAuth 2.0 with offline access (refresh token). Google My Business API — businesscommunications scope for review access.

Sync direction

Inbound only. New reviews route to InsightFlow and trigger owner alert. Review request sequences are outbound via Twilio/CampaignFlow — not via Google API.

Google My Business API is polling-based (no webhooks for reviews). Review check runs every 2 hours. Response time for review alerts to owner: under 2 hours 10 minutes on average.

EventEnFlow OS Action
review.new (polled every 2hr)Log review to InsightFlow; compute rolling rating per location; fire owner alert if rating below 4.0 or if text includes flagged keywords
Section 05

Workflow Engine Implementation


23 AutoFlow workflows are live in production. All are versioned, idempotency-keyed, and running against real contact data as of August 22, 2026. The six primary workflows are documented below in full. Supporting workflows (reminder sequences, internal task routing, field update rules) are documented in the Workflow Runbook delivered at handoff.

WF-001Lead Intake Routing
v1.2·~180 executions / week
TriggerContact created from any inbound source — Meta Lead Ad, JotForm, HubSpot form, or manual entry
Conditionsource == "meta_lead_ad" → assign primary_location from campaign tag; route to paid_inbound pipeline stage
Conditionsource == "jotform_health" → check phi_flag; if true hand to Compliance Agent path; if false proceed to Intake Agent
Conditionsource == "organic" AND lead_intent_score >= 70 → bypass nurture; route to high-intent booking queue
ActionAssign Contact to Intake Agent (AGT-001); set Deal stage: New Lead; create intake task with 90-second SLA
ActionEnroll in location-appropriate CampaignFlow intake sequence; log routing event to InsightFlow
WF-002Appointment Confirmation
v1.0·~310 executions / week
Triggerappointment.created event received from Vagaro pipeline; Appointment entity created in EnFlow OS
Conditionsms_consent == true → send SMS confirmation; sms_consent == false → send email confirmation only
Conditionappointment.type == "new_client_consultation" → include pre-visit intake form link in confirmation
ActionSend appointment confirmation (SMS + email or email only based on consent); update Deal stage: Appointment Booked
ActionSet AutoFlow scheduled triggers: T–24hr reminder, T–1hr reminder; create operator prep task for new client appointments
WF-003Post-Visit Follow-Up
v1.1·~280 executions / week
Triggerappointment.completed event from Vagaro pipeline; visit_count_lifetime incremented on Contact
Conditionvisit_count_lifetime == 1 → enroll in new_client_3touch sequence (rebooking prompt + intro to membership)
Conditionvisit_count_lifetime >= 2 AND membership.status == "none" → enroll in membership_upsell sequence at T+48hr
Conditionmembership.status == "active" → enroll in member_care sequence (shorter, retention-focused)
ActionUpdate health_score signal (positive visit event); update Deal stage: Completed; log visit event to InsightFlow
ActionSet review request trigger at T+48hr — fires only if visit rating signal is positive or absent (not if complaint flag is set)
WF-004Membership Churn Prevention
v1.0·~35 executions / week
TriggerScoreFlow health_score computation: health_score drops below 40, OR days_since_last_visit crosses 30-day threshold
Conditionhealth_score < 40 AND membership.status == "active" AND days_since_last_visit > 30 → high-risk path
Conditionmembership.membership_tier == "premium" → route to owner personal outreach queue, not standard agent sequence
ActionEnroll Contact in 5-touch reactivation sequence (CampaignFlow); create owner-review task with health_score and days_since_last_visit in task body
ActionSend internal alert to location manager for the Contact's primary_location; log churn risk event to InsightFlow
WF-005Membership Renewal
v1.0·~60 executions / week
TriggerScheduled check — daily at 09:00. Conditions: membership.expiry_date within 14 days
Conditionmembership.auto_renew == true → confirm renewal, send renewal confirmation, log event
Conditionmembership.auto_renew == false → enroll in renewal outreach sequence; create renewal task for front desk
Conditionpayment_failed_count >= 1 → skip renewal sequence; trigger WF-007 Payment Recovery instead
ActionUpdate Deal stage: Renewal Due; log renewal event to InsightFlow membership panel; set 7-day follow-up if no action taken
WF-007Membership Payment Failed
v1.0·~12 executions / week
TriggerVagaro sync pipeline detects payment_failed event; payment_failed_count incremented on Membership entity
Conditionpayment_failed_count == 1 → send payment update SMS (if consented) + email; create front desk task
Conditionpayment_failed_count == 2 → escalate: create owner-review task; flag membership at-risk in InsightFlow; pause all active marketing sequences for this Contact
Conditionpayment_failed_count >= 3 → membership.status set to at_risk; personal outreach required — all automation paused on this Contact
ActionLog each payment failure event to InsightFlow compliance panel; create dated audit record for billing team review
Section 06

Pipeline Engine Implementation


Event Pipelines

PipelineSourceTransform LogicPeak VolumeAvg Latency
Inbound Lead EventsMeta Lead Ads + JotForm + HubSpot formsNormalize fields to Contact schema. Deduplicate on email + phone hash. Set referral_source from form metadata.~180 events/day3.2 seconds
Vagaro Appointment EventsVagaro webhook (created, confirmed, completed, no-show)Map Vagaro appointment fields to Appointment entity. Link to Contact via email. Set visit type tag. Update visit_count_lifetime on completed.~310 events/day4.1 seconds
Campaign Engagement EventsCampaignFlow (email opens, clicks, SMS replies)Map behavioral events to ScoreFlow signal weights. Update lead_intent_score or health_score based on event type and recency.~620 events/day1.8 seconds
Meta Lead Ad SubmissionsMeta Lead Ads API (webhook)Retrieve full lead record from Lead Ads API. Create Contact. Tag campaign_id, ad_id. Route to WF-001.~45 events/day6.4 seconds

Sync Pipelines

PipelineSystemsCadenceConflict ResolutionStatus
Contact SyncHubSpot ↔ EnFlow OSReal-time (webhook)EnFlow OS wins on pipeline fields; HubSpot wins on contact property fieldsLive
Appointment SyncVagaro → EnFlow OSReal-time (webhook)Vagaro is authoritative — EnFlow stores a read copy onlyLive
Cancellation SyncVagaro → EnFlow OSPolling every 4 minVagaro is authoritative. 4-min poll is within operational SLA for cancellation response.Live (polling)
Membership SyncVagaro → EnFlow OSReal-time (webhook) + nightly batchVagaro is authoritative on membership status and billing dataLive
Review SyncGoogle Business → EnFlow OSPolling every 2 hrGoogle is authoritative. EnFlow stores for reporting and owner alerts onlyLive (polling)

Scoring Pipelines

ScoreSignals (weighted)ComputationThreshold Actions
Lead Intent Score (0–100)Form submission source (+25), Meta ad engagement (+15), email open rate (+10), booking history (+20), referral flag (+30)Recomputed on every behavioral event; score visible on Contact record within 5 secondsScore ≥ 80: bypass nurture, route to high-intent queue. Score < 30 at Day 14: move to long-term nurture, reduce send frequency.
Client Health Score (0–100)Days since last visit (−3/day after Day 21), visit frequency vs. baseline (±20), membership status (+15 active), email engagement (+10), complaint flag (−30)Nightly batch + real-time update on visit events. health_score visible on Contact and Membership records.Score drops below 40: trigger WF-004 Churn Prevention immediately. Score drops 15+ points in 7 days: owner alert regardless of absolute score.
Upsell Readiness (0–100)Visit count 3+ (+20), service tier growth trend (+25), engagement with premium content (+20), no active membership (+15), average spend trajectory (+20)Weekly batch — Sundays at 02:00. Score used by CampaignFlow to gate membership upsell sequence enrollment.Score ≥ 75: enroll in membership_upsell CampaignFlow sequence at next post-visit trigger.

Retry + Dead-Letter Queue — Production Behavior

As of go-live, the retry and DLQ configuration has been tested against three synthetic failure scenarios in staging: Vagaro API timeout (resolved at retry 2), HubSpot rate limit (resolved at retry 3 after backoff), and Twilio delivery failure on invalid number (escalated to DLQ after retry 5, triggered immediate alert). All three scenarios behaved as specified in the Architecture document.

Retry Policy (all pipelines)

AttemptDelay
Attempt 1Immediate
Attempt 230 seconds
Attempt 32 minutes
Attempt 410 minutes
Attempt 51 hour
After 5 failures→ Dead-letter queue

DLQ Behavior at Go-Live

MetricValue
Alert response time< 3 minutes
Alert recipientsLead Engineer + Account Lead
Retention period7 days
Week 1 DLQ events (prod)3 (all replayed)
Root cause (all 3)Vagaro timeout during deploy window
ResolutionManual replay; no data loss
Section 07

AI Agent Configuration


Four agents are live in production. Each agent operates within a precisely defined scope. None of them improvise outside that scope — when a situation falls outside their decision boundary, they escalate to a human and stop. The behavioral documentation below reflects actual production behavior as observed in the first 72 hours post-go-live.

AGT-001Intake Agent
claude-haiku-4-5-20251001Live

New Contact created from any inbound source; assigned to intake_queue · ~180 sessions/week · Avg session: 3.4 turns

Behavior in production

The Intake Agent handles every inbound inquiry from Meta Lead Ads, JotForm submissions, Instagram DMs (when manually forwarded), and inbound SMS. It qualifies leads against Serene's defined service list, collects the information needed to set a primary_location and route to the Scheduling Agent, and enrolls Contacts in the appropriate CampaignFlow sequence when a booking is not made in the session. It does not quote pricing. It does not make scheduling commitments. Any question about treatments, contraindications, or medical history is acknowledged and handed to a licensed team member.

Tools available

  • read_contact
  • update_contact (name, phone, location preference, referral_source)
  • set_pipeline_stage
  • enroll_campaign_sequence
  • create_task
  • send_sms
  • handoff_to_scheduling_agent

Memory boundaries

Session-scoped. Conversation history retained for current intake session only. Contact record is the persistent store — agent reads it at session start and writes qualified fields at session end.

Escalation triggers

  • Contact asks about a specific treatment's medical suitability → agent acknowledges, creates task for clinician follow-up, ends intake session
  • Contact expresses frustration after 2 agent responses → escalates to human, sends internal alert to location manager
  • Budget signal indicates potential deal value above $2,000 → creates high-value task for owner review before booking proceeds

First 72 hours in production

In the first 72 hours post-go-live, the Intake Agent handled 38 sessions. 29 qualified leads were routed to the Scheduling Agent. 6 received CampaignFlow enrollment after incomplete intake. 3 were escalated to human: 1 medical question, 2 frustration escalations. Average response time from inbound inquiry to first agent message: 47 seconds.

AGT-002Scheduling Agent
claude-haiku-4-5-20251001Live

Qualified lead received from Intake Agent; explicit booking request in conversation · ~140 sessions/week · Avg session: 2.1 turns

Behavior in production

The Scheduling Agent handles the complete booking flow for qualified leads. It reads live availability from Vagaro via API, presents the top 3 available slots at the Contact's preferred location, confirms the selection, creates the Vagaro appointment, and triggers WF-002. It operates entirely within Vagaro's confirmed availability — it does not offer slots that are not confirmed open, and it does not override hold blocks. The agent handles reschedule requests with the same flow.

Tools available

  • read_contact
  • read_vagaro_availability
  • create_vagaro_appointment
  • cancel_vagaro_appointment (reschedule flow only)
  • send_sms
  • send_email
  • update_deal_stage

Memory boundaries

Session-scoped. Booking context (preferred location, service type, preferred time range) retained during the booking session. Appointment record is the persistent store post-booking.

Escalation triggers

  • No available slots within 7 days at preferred location AND Contact declines the alternative location offer → escalates to front desk with note on preferred timing
  • Contact requests a service not in the Vagaro catalog for that location → creates task for location manager to confirm availability and follow up personally

First 72 hours in production

First 72 hours: 31 booking sessions. 28 appointments created in Vagaro without human involvement. 2 escalated to front desk (preferred timing unavailable). 1 reschedule handled end-to-end. Zero double-bookings.

AGT-003Compliance Agent
claude-haiku-4-5-20251001Live

JotForm Health submission with phi_flag = true; HIPAA-tagged Contact in intake pipeline · ~22 sessions/week

Behavior in production

The Compliance Agent handles contacts who have submitted health intake forms containing PHI fields. It routes PHI data to the isolated, BAA-covered data store and ensures the standard event pipeline receives no PHI payload. It communicates with PHI-tagged contacts using compliant channels only and does not proceed if BAA status is not confirmed in the environment configuration. The agent is stateless by design — no conversation history is retained, no PHI appears in agent working memory.

Tools available

  • read_contact (non-PHI fields only)
  • set_phi_flag
  • route_to_phi_store
  • send_compliant_communication
  • log_compliance_event
  • create_compliance_task

Memory boundaries

Stateless. No session memory. No cross-session memory. PHI is never held in working memory — routing happens immediately on receipt.

Escalation triggers

  • Any ambiguity on PHI field classification → immediate escalation to Lead Engineer and Account Lead; agent stops processing
  • BAA status not confirmed in environment config → agent refuses to process; fires critical alert to EnFlow and client compliance officer

First 72 hours in production

First 72 hours: 7 PHI-tagged sessions processed. All 7 routed correctly to phi_store. Zero PHI payloads in standard event log confirmed via log audit. Compliance event log: all 7 entries present and correctly formatted.

AGT-004Insight Agent
claude-haiku-4-5-20251001Live

Monday 07:00 (weekly digest) and KPI threshold breach events from InsightFlow · 1 digest/week + ~8 threshold alerts/week

Behavior in production

The Insight Agent generates natural-language performance summaries for Serene ownership from InsightFlow dashboard data. Each Monday digest covers: lead volume and source breakdown, booking conversion rate, location-by-location performance comparison, membership health distribution, and one flagged anomaly (if any). The agent does not access raw transaction data or Contact-level PII — it operates only on pre-aggregated InsightFlow outputs. When a KPI threshold is breached (e.g., location booking rate drops below 60% in a 3-day window), the agent fires an immediate alert before the next scheduled digest.

Tools available

  • read_insightflow_aggregate_report
  • read_pipeline_metrics
  • read_campaign_metrics
  • read_scoring_distribution
  • send_email_digest
  • create_owner_alert

Memory boundaries

No memory. Each digest is generated fresh. Historical comparison uses InsightFlow period-over-period data only.

Escalation triggers

  • KPI breach that exceeds severity threshold 2 (e.g., location booking rate below 40% for 48hr) → fires immediate SMS alert to owner and location manager in addition to email

First 72 hours in production

First Monday digest delivered August 25, 2026. Ownership confirmed receipt and reported the format matched expectations from the Architecture sample. One threshold alert fired in the first week: Clearwater booking conversion rate dropped to 54% for a 36-hour window on a Thursday–Friday — traced to a system time entry error in Vagaro that blocked online booking. Alert reached owner within 18 minutes of the threshold breach. Issue resolved same day.

Section 08

Dashboards


Five InsightFlow dashboards are live as of August 22, 2026. Each is described below as it appears in production, including the metrics shown, the update cadence, and the operational decision each view is designed to support.

Executive Dashboard
Owner · Updated nightly · Weekly digest delivered Monday 07:00
Live
184
New leads this week
+12% vs. prior week
68%
Booking conversion rate
+11pts since go-live
$61.2K
Pipeline value (active deals)
Current snapshot
89%
Active members — healthy score
11% at-risk flagged

The Executive Dashboard opens with the four KPIs above, followed by a location-by-location performance comparison bar chart (booking conversion rate per location, current week vs. prior 4-week average), a monthly recurring revenue trend line, and the Insight Agent's Monday narrative summary. The automation labor offset panel shows estimated hours-equivalent handled by AutoFlow and agents for the current month — expressed both as hours and as dollar equivalent using the labor rates from the Audit ROI model.

Operations Dashboard
Operations lead · Real-time · Refreshes on every pipeline event
Live
47s
Avg lead response time (live)
Was 5.5 hours pre-go-live
3
Tasks overdue right now
2 at Tampa, 1 at St. Pete
0
DLQ messages pending
All pipelines clear
23
Workflows fired in last hour
Normal operating volume

Below the KPI strip: a pipeline stage funnel showing current contact count at each stage across all locations, a live task list filtered to overdue items with assignee and age, the AutoFlow execution log (last 50 workflow firings with name, contact, and outcome), and a DLQ status indicator that shows green at zero and turns amber the moment any message enters the queue. This is the view the Operations Director has open on a second monitor during business hours.

Agent Dashboard
EnFlow Lead Engineer · Real-time · Internal monitoring view
Live
97.3%
Intake Agent success rate (7-day)
SLO: 97.0%
4.2%
Escalation rate — all agents
Within expected range
1.8s
Avg agent first-response latency
p95: 4.1s
100%
Compliance Agent PHI routing accuracy
7/7 sessions correct

Per-agent panels show invocation count, success rate, escalation rate, average session length (turns and tokens), and a confidence distribution histogram across decision points. A session log allows the Lead Engineer to review any individual agent session within the retention window. Tool call success rate by tool name is displayed as a sparkline for the last 7 days — any tool with a sub-95% success rate turns amber and triggers a Slack alert.

Compliance Dashboard
Client compliance officer · Updated per event · Monthly report auto-generated 1st of month
Live
100%
SMS sends with confirmed consent
TCPA compliant
0
PHI payloads in standard log (audit)
Verified clean
2
Open GDPR deletion requests
Both within 30-day window
614
Contacts with active membership
Health data in phi_store

The compliance dashboard includes a full immutable audit log for all compliance-tagged events (append-only, 7-year retention), a consent status breakdown by channel and location, a data deletion request tracker with open date and status, and the BAA confirmation panel showing JotForm Health BAA validity and renewal date. The monthly compliance report exports as a PDF on the first of each month and is delivered to the compliance officer's email automatically.

Pipeline Dashboard
EnFlow Lead Engineer · Real-time · Polling every 60 seconds
Live
4.1s
Avg event pipeline latency
SLO target: < 30s
0
Pipeline lag events (24hr)
All pipelines current
99.97%
Event delivery success rate
3 DLQ events in 7 days
67%
Twilio API rate limit utilization
Alert threshold: 80%

Per-pipeline panels show event ingestion rate (events/min), current queue depth, oldest unprocessed message age, retry queue depth, and 5xx error rate over a 5-minute rolling window. The integration rate limit panel shows current utilization against cap for each external API — Vagaro, HubSpot, Twilio, and Google Business. The Vagaro cancellation poll panel shows the last successful poll timestamp and confirms the 4-minute polling interval is meeting its SLA.

Section 09

Observability + SLOs


SLO Performance at Go-Live

First 72 hours of production operation. Error budgets are 30-day rolling — values below reflect the first measurement window.

ServiceTargetActual (72hr)Error Budget StatusAlert Triggered?
AutoFlow execution success rate99.5%99.91%8% consumedNo
Event pipeline delivery rate99.9%99.97%3% consumedNo
Webhook processing success99.0%99.6%Within budgetNo
Agent completion rate97.0%97.3%23% consumed (escalations)No
InsightFlow data freshness< 15min4.1min avgWell within budgetNo
Lead response time (via agent)< 90sec47sec avgExceeding targetNo

Alerting Rules — Production Configuration

AlertConditionDestinationResponse Time TargetFired in Week 1
DLQ message receivedAny message enters DLQLead Engineer + Account Lead (SMS + email)< 3 minutes1 (resolved)
AutoFlow error rate elevated> 1% failure in 5-min windowLead Engineer (Slack + email)< 5 minutes0
Agent escalation rate elevated> 8% in any 1-hour windowLead Engineer + Account Lead< 10 minutes0
Pipeline lag exceededOldest unprocessed event > 2 minutesLead Engineer (Slack)< 2 minutes0
KPI threshold breach (location)Booking conversion < 60% over 3-day windowOwner + Location Manager (email)< 15 minutes1 (Clearwater)
Rate limit utilization highAny API > 80% of rate limit capLead Engineer (Slack)< 10 minutes0
Compliance PHI routing failureCompliance Agent returns errorLead Engineer + Compliance Officer (immediate)Immediate0

Logging and Tracing Baseline

Log confirmation

Post-go-live log audit confirmed: zero PHI fields in standard event stream. All compliance events present in immutable log. Trace IDs propagated correctly across all 6 integration events sampled. Log aggregator confirmed receiving structured JSON from all pipeline components.

Trace sampling in production

100% of ERROR and FATAL traces sampled. 10% of INFO traces sampled (volume: ~3,200 traces/day). APM retention: 30 days production, 7 days staging. Trace-based alert confirmed working in Week 1 — DLQ event trace delivered to Lead Engineer within 2 minutes 18 seconds of the event.

Section 10

Final Outcomes


The following outcomes are documented as of August 29, 2026 — one week post-go-live. Operational metrics are live data from InsightFlow. Financial projections are calculated using the ROI model from the Phase 01 Audit, updated with the actual automation coverage achieved.

Operational Improvements — Before vs. After

Before Implementation
After Implementation
5.5-hour average lead response time across all channels
47-second average — Intake Agent live on all inbound sources
Post-visit follow-up at 1 of 4 locations (Sarasota only)
Automated 3-touch post-visit sequence running at all 4 locations after every completed appointment
Membership churn identified in monthly team meetings — too late to act
Health score computed nightly; reactivation workflow fires at 30-day threshold automatically
HubSpot running at $680/month with no pipeline, no data, no automation
HubSpot active as operational CRM — 3,847 contacts, live pipeline, real-time sync with Vagaro
Owner assembles weekly performance report manually (3–4 hours)
Insight Agent delivers Monday digest at 07:00 with zero assembly time
Meta lead ads → manual follow-up when front desk had capacity
Meta leads enter intake pipeline within 60 seconds; Intake Agent responds before staff know the lead arrived
No visibility into which location is underperforming until end-of-month reporting
Real-time booking conversion rate per location on Operations Dashboard; KPI threshold alerts fire in under 15 minutes
JotForm health intake forms disconnected from CRM — data re-entered manually
JotForm submissions create or update Contacts automatically; PHI fields route to compliant store; non-PHI data live in pipeline

Automation Coverage

The Phase 01 Audit identified 112 hours per week of rule-based manual workflows across the four locations. At go-live, 94% of that workload is covered by automation — 23 active AutoFlow workflows, 4 AI agents, and 5 CampaignFlow sequence families. The remaining 6% (approximately 6.7 hours per week) represents workflows that require clinical judgment or personal client relationship management and have been correctly left with the human team.

94%
Automation coverage on identified manual workflows
105hr
Hours/week recovered from manual rule-based work
23
AutoFlow workflows live in production
$298K
Projected Year 1 labor offset (conservative)

Reduction in Owner Dependency

Prior to Implementation, the owner was in the operational loop on four recurring tasks every week: pulling the performance report, reviewing the lead follow-up queue, checking in with each location manager on membership at-risk status, and personally handling high-value new client inquiries that had been waiting more than a day. All four of those loops are now system-owned. The owner receives the Monday digest, reviews the Executive Dashboard when relevant, and acts on escalations — which, in the first week, numbered two (one Clearwater booking issue, one high-value lead flagged for personal follow-up by the Intake Agent). Neither required the owner to initiate the action. Both were surfaced by the system.

Intelligence Layer — Online

InsightFlow is live with five dashboards and two real-time alert classes. The Insight Agent delivered its first Monday digest on August 25, covering lead volume, conversion rate, location comparison, and one flagged anomaly (Clearwater). The ScoreFlow models have been running for one week: 614 membership health scores computed, 68 contacts flagged as at-risk (health score below 40), 41 enrolled in the reactivation sequence. The intelligence layer is not a reporting feature — it is an operational system that tells the business what is happening and what to do about it before anyone has to ask.

Projected Financial Impact

MetricAudit ProjectionPost-Implementation TrackConfidence
Annual labor offset — direct$317,000/yr$298,000/yr (at 94% coverage)High
Revenue recovery — lead response$85–110K/yrTracking — 1 week of dataPending 30-day data
Membership retention improvement$61K ARR protected68 at-risk contacts in reactivation sequenceEarly indicator positive
HubSpot investment realized$680/mo → activePipeline live, 3,847 contacts activeConfirmed
Projected Year 1 net ROI$210–260KOn track based on Week 1 coveragePending full quarter
Payback period8–10 monthsOn trackPending 30-day data

EnFlow Labs

hello@enflowsuite.com

This document is confidential and prepared exclusively for Serene Aesthetics & Wellness.

Phase 03 Implementation Summary · EnFlow Labs · 2026