Block 1 - Sticky Note
- Type / Role
- n8n-nodes-base.stickyNote - stickyNote
- Config choices
- Version 1
Workflow explanation: Watch on YouTube Automated Missed Call Recovery with Gohighlevel + Twilio + Gemini Prerequisites for the HV...
n8n-nodes-base.stickynote, n8n-nodes-base.webhook, n8n-nodes-base.if, n8n-nodes-base.set, n8n-nodes-base.highlevel, n8n-nodes-base.twilio, n8n-nodes-base.twiliotrigger, @n8n/n8n-nodes-langchain.agent
This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by iamvaar.
Original n8n.io sourceBefore setting up the workflow in n8n, ensure you have completed the following foundational steps:
called phone numbercall sidcontacts.readonly, contacts.write, opportunities.readonly, opportunities.write, locations.readonly.SMS sent No ReplyEngaged | Appointment Link SentBOOKEDThis n8n architecture is divided into three distinct sub-workflows. Here is the node-by-node explanation.
Goal: Detect a missed call, log it in GoHighLevel, and immediately text the prospect.
n8n-nodes-base.webhook): Acts as the entry point. It receives incoming POST call data from your telephony provider (Twilio) whenever a call status changes.n8n-nodes-base.if): Evaluates the incoming webhook payload. It only allows the workflow to continue if the CallStatus contains busy, no-answer, or canceled.n8n-nodes-base.set): Cleans and maps the incoming JSON data. It extracts the caller's phone number, removes the + sign for clean formatting, grabs the called number and CallSid, and attaches specific tags like missed-call-lead.n8n-nodes-base.highLevel): Pushes the cleaned data into GHL to create a new Contact. It maps the custom fields you created (called phone number and call sid) and assigns the hvac-inbound-missed tag.n8n-nodes-base.highLevel): Creates a pipeline opportunity for the newly generated lead. It names the opportunity dynamically (e.g., "Missed Call.... [Phone].... [Date/Time]").n8n-nodes-base.twilio): Sends the initial outreach text message to the caller (e.g., "Hi, I believe you missed a call with us... Please state your issue directly here").n8n-nodes-base.highLevel): Updates the GHL opportunity stage to the first stage in your pipeline ("SMS sent No Reply") to track that the initial outreach has occurred.Goal: Process replies to the initial SMS, use AI to determine if it's a valid HVAC opportunity, and send a booking link.
n8n-nodes-base.twilioTrigger): Listens for incoming SMS messages on your Twilio number.n8n-nodes-base.highLevel): Searches GHL to see if the sender's phone number already exists as a contact.n8n-nodes-base.highLevel): Looks up the specific opportunity associated with this contact in the "Missed call to appointment" pipeline.@n8n/n8n-nodes-langchain.agent): The core AI brain of this sub-workflow. It consists of three integrated parts:gemini-3.1-flash-lite-preview model to process the prompt and context.{"HVAC_oppurtunity?": "yes"}).n8n-nodes-base.if): Checks the parsed JSON output from the AI. If the AI determined the answer is "yes" or "yeah", the workflow proceeds.n8n-nodes-base.twilio): Sends a text message containing your GHL scheduling link to prompt the prospect to book a visit.n8n-nodes-base.highLevel): Moves the GHL opportunity stage forward to "Engaged | Appointment Link Sent".Goal: Finalize the pipeline sequence once the prospect actually books an appointment through your scheduling link.
n8n-nodes-base.webhook): Receives the payload triggered by the GHL automation workflow you created in the prerequisites (fired when an appointment is booked).n8n-nodes-base.highLevel): Queries GHL using the phone number from the appointment payload to ensure it matches up with the correct existing contact record.n8n-nodes-base.highLevel): Retrieves the current opportunity linked to this phone number that is currently sitting in the "Engaged" stage.n8n-nodes-base.highLevel): Fills in the missing data gaps. Since the initial missed call only gave you a phone number, this node uses the data submitted in the booking form to update the contact's First Name, Last Name, and Email address.n8n-nodes-base.highLevel): Moves the opportunity to its final stage: "BOOKED".This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.
Showing the first 24 of 32 workflow blocks. Download the JSON for the full node graph.
| Workflow | Recover missed calls and book HVAC appointments with GoHighLevel, Twilio, Gemini |
|---|---|
| Complexity | advanced |
| Nodes | 32 |
| Categories | Lead Nurturing, AI Chatbot |
| Author | iamvaar |
| Published | 16 Apr 2026 |
Use the JSON export at /data/workflows/15103/15103.json as the source template for this automation.
Open n8n, import the downloaded JSON, and review each node before activating the workflow.
Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.
Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.
Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.
Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.
Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.
Workflow explanation: Watch on YouTube Automated Missed Call Recovery with Gohighlevel + Twilio + Gemini Prerequisites for the HV...
Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.
Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Lead Nurturing, AI Chatbot use case.