HUMANAGREED DIRECTION1. Book and manage the appointment in Zanda
Eloise creates the appointment in Zanda. Any later reschedule or cancellation is also recorded in Zanda first.
Why this way?
Zanda is the authoritative appointment record. We have confirmed Zanda → Google behaviour, but not a reliable Google → Zanda update path. A change made only in Google can therefore leave the systems out of sync.
Evidence / what we tested
Eloise confirmed first and subsequent EAP appointments are booked manually in Zanda. Controlled tests confirmed Zanda status and timing changes drive downstream calendar behaviour.
What we tried and ruled out
Do not use Google Calendar or a second automation-created event as another appointment source of truth.
TECHCONFIRMED2. Use Zanda’s native Google Calendar sync
Zanda creates and maintains Eloise’s practitioner event in her existing Google Calendar.
Evidence / what we tested
CREATE created Eloise’s event. RESCHEDULE moved it. Proper cancellation changed the practitioner event to CXL. One cancellation propagation took roughly one minute.
Why this way?
The native integration already performs the practitioner-calendar work. Rebuilding it would duplicate capability and add failure points.
Q01 Client question · Cancelled appointments in your calendar
When an appointment is cancelled, Zanda currently leaves a CXL block in your Google Calendar. Do you find that useful, or would you prefer cancelled appointments to disappear if Zanda allows that behaviour to be changed?
Q02 Client question · Client information in Google Calendar
Zanda’s De-identify client details sent to Google Calendar setting is currently switched off. What client information do you actually need to see in your Google Calendar?
AUTOMATIONBUILD VALIDATION3. Assess the Google-side booking signal
Candidate pathway: use Zanda’s new appointment practitioner notification as the booking signal. Google Apps Script is now a specific implementation candidate for reading the minimum required Gmail data and continuing the workflow entirely on the Google side.
Why not the Zanda API?
Direct API integration remains attractive for cleaner identifiers and state, but it is not required to add a client to an existing Google Calendar event. Zanda remains authoritative; the Google-side mechanism would only use an existing booking signal to locate and update the already-synchronised calendar event.
Evidence / what we tested
We temporarily enabled the practitioner notification and confirmed Eloise received it for a manually created appointment. Required merge fields for client email, practitioner and appointment timing are available.
What we tried and ruled out
We investigated the Zanda API, native automation-platform routes, hello@futureculture.com.au and broad inbox access. The API beta is currently restricted, hello@ is an alias rather than a standalone inbox, and broad inbox access is not appropriate. These constraints do not rule out a tightly scoped Google-side route.
Access required
The candidate Google Apps Script route would require authorised access to the Gmail mailbox receiving the booking notification and read/update access to the relevant Google Calendar. For the Eloise pilot, the confirmed practitioner notification recipient is Eloise. Test the least-privilege authentication model and whether a narrow label/search pattern can limit processing to the dedicated booking signal.
Risk / control
Avoid broad processing of Eloise’s general correspondence. The script must process only the minimum administrative scheduling data, use a dedicated subject/label/search condition, log outcomes without unnecessary client content, and stop on missing or ambiguous data.
Google Apps Script candidate
Candidate mechanism: structured Zanda booking notification → Gmail search/processing → extract minimum required fields → locate the existing practitioner Calendar event → require one valid match → add the client as guest → record success or route an exception.
Google Apps Script can search Gmail and can add a guest to an existing Calendar event when appropriately authorised. However, Apps Script does not provide a standard “new Gmail message received” installable trigger, so the trigger model itself needs testing, likely using controlled time-driven polling/search unless another supported Google event mechanism is selected. This pathway is not yet confirmed feasible end to end.
Q03 Client question · Weekly appointment volume
Roughly how many appointments do you personally create in Zanda in a typical week? Even a rough range is fine.
Q04 Client question · Lightweight automation check
Would a simple weekly email confirming how many appointments were created and how many client calendar invitations were successfully added be useful? The purpose would be to provide a simple check that the automation is still working. For example, if you normally create around 10 appointments a week and the report suddenly showed zero invitations added, it would be an obvious signal that something may have failed and needs checking. This would be a potential later paid enhancement, not required for the initial pilot.
AUTOMATIONBUILD VALIDATION4. Validate the event match and add the client
Whichever Google-side implementation is selected, it must identify the existing Zanda-synchronised event, validate exactly one match, and then add the client email as an attendee. Google Apps Script is now one candidate for this action.
Why this way?
Without API identifiers, a deterministic composite match is the safest pilot approach. AI should not decide which calendar event is correct.
Evidence / what we tested
The structured Zanda fields are available and the corresponding event exists in Eloise’s synced Google Calendar. Manually adding Charlie as attendee sent a genuine Google invitation.
Access required
Read/update access to Eloise’s Google Calendar is required so the automation can search and update the existing event.
Risk / control
Exactly one event must match. Zero or multiple matches stop and route to Admin. Never create a second practitioner appointment.
Q05 Client question · Client calendar invitations
Are you comfortable with us automatically adding the client as an attendee to the existing Zanda-synchronised Google Calendar event? This is the approach we’ve tested to make sure the client’s calendar stays aligned when an appointment changes.
TECHCONFIRMED BEHAVIOUR5. Let the client invitation follow Zanda changes
Google sends the client a genuine invitation. Once accepted, later Zanda reschedules and cancellations flow through the existing attendee relationship.
Evidence / what we tested
After Charlie accepted the invitation, a Zanda reschedule moved both Eloise’s and Charlie’s calendar event. Proper cancellation removed Charlie’s event while retaining the CXL block for Eloise.
What this replaces
The existing Gmail Add to Calendar experience can create an independent client copy that may become stale. The attendee relationship is the proposed fix.
Build requirement
Validate the complete email-trigger → unique-match → attendee-addition chain in the live build before production use.
TECHCLIENT DECISION6. Use Client Portal for routine changes
Recommended pilot direction: clients use My Appointments in the Zanda Client Portal for routine reschedules and cancellations.
Why this way?
Zanda already handles client identity, appointment selection, availability and the two-day policy boundary. This is simpler than adding an AI-managed inbound appointment channel for routine changes.
Evidence / current setup
Client Portal is enabled. Reschedule and cancellation policy is set to Two Days Before Appointment. Eloise confirmed her clients are the group currently using the portal, although EAP bookings themselves are currently manual.
Access required
No new inbox access is required for routine self-service. Clients authenticate to the existing Zanda Client Portal.
If the portal is not used
The client contacts a human Admin/practitioner. The request is handled manually and the agreed change is made in Zanda first. A dedicated appointments inbox can be considered later if Future Culture wants managed inbound requests at scale.
Q06 Client question · Client Portal for routine changes
Would you be comfortable asking EAP clients to use My Appointments in the Zanda Client Portal for routine reschedules and cancellations?
Q07 Client question · How clients currently request changes
How do clients actually ask to change appointments today, for example text, email or phone, and approximately how often does this happen?
Q08 Client question · Services available through the Client Portal
Which of your EAP/LAP services should clients be able to reschedule or otherwise self-manage through the portal?
Q09 Client question · Practitioner restrictions
Should EAP clients only be able to book/reschedule with their assigned practitioner? We need to check this carefully because the relevant Zanda setting may also affect the contractor workflow.
HUMANAGREED CONTROL7. Keep non-routine changes human-managed
Late, unusual, sensitive, series-level or otherwise non-self-serviceable cases stay with Admin and Eloise where practitioner judgement is required.
Human boundary
Admin can handle routine exceptions and administration. Eloise remains involved where practitioner judgement, relationship sensitivity or policy discretion is required.
System rule
Whatever the human decision, the authoritative change is recorded in Zanda first. Do not separately manage the appointment in Google.
Access / future option
A dedicated admin inbox does not currently exist because hello@ is an alias. If Future Culture later wants managed inbound automation, a real appointments/admin mailbox would be required.
Risk / control
Do not give AI broad inbox access merely to solve occasional exceptions. Agree a preferred client route and retain a clear human fallback.
TECHCLIENT DECISION8. Use native communications where they work
Keep Zanda’s native booking and cancellation messages where they are adequate. Add deterministic communication only for demonstrated gaps.
Evidence / what we tested
CREATE confirmation works. Ordinary Cancelled status produced a client cancellation email. Manual reschedule produced no fresh explicit email. Late Cancellation produced no email in our A/B test.
What we found
Current appointment communication also presented multiple telehealth/Zoom details. Existing reminder wording includes seven-day exceptions that should not be encoded as policy without confirmation.
Q10 Client question · Telehealth link
Which Zoom/telehealth link should clients actually use? During testing we found multiple meeting details appearing in the current appointment communication.
Q11 Client question · Current cancellation policy wording
Are the seven-day exceptions currently included in the appointment reminder/cancellation wording still part of Future Culture’s policy? If so, when exactly should they apply?
Q12 Client question · Reschedule communication
If you manually reschedule an appointment in Zanda and the client’s calendar automatically moves to the new date/time, would you also like them to receive a separate email drawing their attention to the change?
Q13 Client question · Late Cancellation
What would you like the client to be told when an appointment is marked Late Cancellation, including what happens to that session within their EAP allocation?
EXCEPTION / CONTROLCLIENT INPUT9. Keep availability and failures visible
Zanda availability must reflect what can actually be offered. Automation failures stop rather than guessing.
Availability finding
Eloise has regular weekly availability configured. Google-only commitments do not appear to provide Calendly-style continuous blocking of Zanda portal availability.
Automation exception
If the CREATE automation finds zero or multiple matching Google events, it stops and routes to Admin.
Risk / control
Do not add heavy availability automation unless real-world clashes justify it. Do not guess a calendar match.
Q14 Client question · Google Calendar versus Zanda availability
How often do you have commitments in Google Calendar that aren’t in Zanda, but fall within times Zanda would otherwise consider available for clients to book?