Quick overview
Youtube Video: https://youtu.be/ZiZEtSxSFoY
This workflow receives demo booking webhooks, validates and deduplicates them, enriches the request with HubSpot history and lightweight web research, generates a sales briefing with Google Gemini, posts it to Slack, and logs the briefing status and AI output to Google Sheets.
How it works
- Receives a POST webhook request containing demo booking details.
- Validates required fields, optionally checks a shared secret header, and deduplicates repeat bookings within a time window before deciding whether to proceed.
- Upserts the booking into a Google Sheets “Bookings” sheet and waits briefly before looking up the contact in HubSpot by email.
- Retrieves HubSpot deals, tickets, and recent engagements and creates a new HubSpot contact if none exists.
- Builds a briefing context and runs several HTTP requests for web research snippets (DuckDuckGo results and optionally the company website via r.jina.ai).
- Sends the compiled booking, HubSpot data, and research snippets to a Google Gemini model to generate a Slack-formatted sales briefing.
- Posts the briefing to a Slack channel, logs briefing status and AI output back to Google Sheets, and returns a JSON success response to the original webhook call.
Setup
- Configure the webhook URL (POST
/demo-booking) in your booking form or scheduling tool to send fields like name, email, company, stated_problem, booking_time, and optional website/job_title/phone.
- Add HubSpot OAuth2 credentials with access to contacts, deals, tickets, and engagements.
- Add a Google Gemini (PaLM) API credential for the
models/gemini-3.1-flash-lite chat model.
- Add a Slack OAuth credential and set the target channel where briefings should be posted.
- Add a Google Sheets service account credential and ensure the target spreadsheet contains a “Bookings” sheet with columns matching the workflow’s upsert fields (including BookingKey).
- (Optional) Set a shared secret value in the validation step and send it as the
x-webhook-secret header from the source system.