Quick Overview
This workflow receives a meeting voice recording via webhook, transcribes it with Deepgram, and uses Google Gemini to extract client details and next-step tasks. It then updates GoHighLevel, posts a task summary to Slack, emails the client their action items via Gmail, and logs the meeting to Google Sheets.
How it works
- Receives a POST webhook request containing a meeting ID, attendee email, meeting date/time, and an audio file.
- Looks up the contact in GoHighLevel by email and creates/updates the contact if it does not already exist.
- Checks Google Sheets for the meeting ID and only continues if no existing row is found.
- Sends the audio binary to Deepgram to transcribe the recording with speaker diarization and utterances enabled.
- Formats the transcript and sends it to a Google Gemini–powered agent that returns structured JSON with client identification and task lists.
- Creates a GoHighLevel task with the extracted service-provider tasks, posts the task summary to Slack, and emails the client their tasks via Gmail.
- Appends the meeting details, extracted company name, and action items to Google Sheets and returns a webhook response.
Setup
- Configure the incoming webhook (header authentication) and set the webhook URL in the system that sends the voice recording.
- Add credentials for GoHighLevel OAuth2, Deepgram (HTTP Header Auth API key), Slack OAuth, and Gmail OAuth2.
- Add Google Sheets service account credentials and update the spreadsheet ID, sheet name, and ensure columns exist for meetingid, client_email, company_name, meeting_time, and actionable_items.
- Review and adjust the Gemini model selection and the agent prompt/schema to match the task output format you want.