I’m building a conversational assistant that turns a consultation request into structured project discovery. Dialogflow CX guides the conversation; Gemini on Vertex AI helps understand the need and ask a useful next question.
“My website is unstable. I need to move from AWS to Google Cloud without downtime.”
✦
VERTEX AI / GEMINI
Discover what matters.
Structured needs. One relevant follow-up.
PROJECT TYPE
Website migration
PLATFORMS
AWS → Google Cloud
CUSTOMER PROBLEM
Website instability
REQUIREMENT
No downtime
ILLUSTRATIVE EXAMPLE / BASED ON THE TESTED DISCOVERY FLOW
THE WORKING CLOUD STACKDialogflow CX+Cloud Run+Vertex AI+Python / FastAPI+Docker
01 / THE CUSTOMER PROBLEM
The first conversation should move the project forward.
A customer knows the problem they want solved. Turning that first request into useful technical context often takes several rounds of questions.
I built this project to explore that first interaction: recognize a consultation request, collect the customer’s needs, extract relevant details, and ask a focused follow-up before offering a booking link.
The aim is better initial discovery: a clearer request for the person who helps next, and a useful next step for the customer.
02 / EXPLORE THE CONVERSATION
A request becomes something actionable.
Step through a representative consultation. This walkthrough explains the implemented flow; it does not connect to the live agent or send information.
EXAMPLE CONVERSATION · ILLUSTRATIVE CONTENT · NO LIVE REQUESTS
CUSTOMERI would like to schedule a consultation.
VIRTUAL AGENTI can help you get started with a consultation. What would you like help with?
DIALOGFLOW CX / INTENT & STATE
Recognize the request.
The consultation intent routes the conversation to an intake page. A required form parameter collects the customer’s project needs.
intent
consultation.request
collect
project_needs
next
Project discovery
CUSTOMERI need to move my website from AWS to Google Cloud next month. It keeps going down, and I can’t afford downtime during the move.
ILLUSTRATIVE FOLLOW-UPWhat platform and database does your website use today?
CLOUD RUN → VERTEX AI
Extract useful context.
The authenticated webhook calls Gemini to extract project details and generate one relevant follow-up question.
project
Website migration
platforms
AWS → Google Cloud
problem
Website instability
timeline
Next month, as stated by the customer
requirement
No downtime
ILLUSTRATIVE FOLLOW-UPWhat platform and database does your website use today?
CUSTOMERIt’s WordPress on EC2 with a MySQL database.
DIALOGFLOW CX / REQUIRED PARAMETER
Capture the next detail.
The Project Follow-up page captures the answer in a separate session parameter.
parameter
project_follow_up
answer
WordPress on EC2 with MySQL
boundary
This answer is not yet merged into the generated discovery summary.
REPRESENTATIVE ENDINGThank you for sharing your project needs. You can choose an available time for a consultation using the booking link.
NEXT CUSTOMER ACTIONOpen Calendly and select an available time.
DIALOGFLOW CX / END SESSION
Offer a clear next step.
The implemented flow returns an external Calendly link and ends the conversation. Scheduling takes place in Calendly.
session
END_SESSION
booking
Completed externally by the customer
storage
Session parameters only; database persistence is planned.
Example wording is illustrative. The underlying consultation → discovery → follow-up → booking-link flow was manually tested through the Dialogflow API.
Step 1 of 4: Request
03 / THE IMPLEMENTED ARCHITECTURE
Conversation in front. Cloud engineering behind it.
Dialogflow owns the conversation state. The Python fulfillment service coordinates AI discovery behind an authenticated Cloud Run endpoint.
01 / CONVERSATION
Dialogflow CX
Recognizes intent, manages pages, and collects the initial project needs.
02 / FULFILLMENT
Cloud Run + FastAPI
Validates the webhook request and invokes the discovery logic.
03 / UNDERSTANDING
Vertex AI + Gemini
Extracts structured needs and generates a relevant follow-up question.
04 / CONTINUE
Dialogflow CX
Collects the follow-up, returns the Calendly link, and ends the session.
Authenticated service boundaries
Cloud Run requires authentication. Dialogflow invokes it using service-agent ID tokens; a dedicated runtime service account provides access to Vertex AI.
Containerized, bounded deployment
The Python service runs as a non-root user in Docker, exposes health and webhook endpoints, and is configured to scale from zero to two Cloud Run instances.
04 / BUILD STATUS
Working milestones. A clear next phase.
This is an active development project. The core API conversation is tested; the phone experience and additional customer actions are still being developed.
BUILT & API-TESTED
Consultation discovery
Consultation intent, required intake, and a follow-up page.
Authenticated FastAPI webhook deployed to Cloud Run.
Gemini extraction and follow-up generation through Vertex AI.
Session parameter capture, an external Calendly link, and session ending.
Agent configuration exported and versioned; the latest welcome patch still needs re-export.
CONFIGURED / VALIDATION PENDING
Twilio voice channel
Native Twilio connector and Studio phone routing configured.
First-call testing identified a welcome-event issue; a Draft handler was added.
Promotion of the welcome fix and a complete successful phone conversation still need verification.
Voice selection, the company greeting, and caller contact intake are next.
PLANNED / NEXT MILESTONES
Connected customer actions
Merge follow-up answers and support corrections and retries.
Confirm customer details and persist requests in Firestore.
Send booking links through Twilio after explicit SMS permission.
Add confirmed customer messages and grounded service answers.
Expand discovery for marketing, website, and app requests.
Implementation checkpoint: October 27, 2026. Details are held in session parameters; the agent does not currently save requests to a database, send SMS, or create appointments. Read the project’s progress notes ↗
05 / VALIDATION & DESIGN DECISIONS
Show the behavior. Respect the boundaries.
I’m validating the conversation and its cloud integrations together: what the customer says, which details are captured, and what actually happens next.
MANUAL API VALIDATION Migration scenario · October 27, 2026
01
Discovery that follows the request
A migration scenario captured AWS-to-Google-Cloud context, website instability, a relative timeline, and a no-downtime requirement. The webhook returned HTTP 200 in approximately 4.4 seconds in that single manual test.
02
State that survives the next turn
The next response captured WordPress, EC2, and MySQL details in the follow-up parameter, returned the booking link, and reached the end of the session.
03
Actions need confirmed results
AI-generated text is not proof that an appointment was booked, a request was saved, or a text was delivered. Those outcomes require their own integrations and confirmed backend responses.
CONTINUE EXPLORING / AWS + GOOGLE CLOUD
Another side of customer experience.
Explore Enterprise Connect, my Amazon Connect contact center project with IVR routing, Lambda integrations, and call-data logging.