by Marco Cassar
Who it’s for? Anyone who wants a dead-simple, free-tier friendly way to run custom API logic on Google Cloud Run and call it securely from n8n—no public exposure, no local hosting. What it does Minimal flow: Set → JWT (sign) → HTTP (token exchange) → HTTP (call Cloud Run with Authorization: Bearer <id_token> ). No caching, no extras—just enough to authenticate and hit your endpoint. How to set up General instructions below—see my detailed guide for more info: Build a Secure Google Cloud Run API, Then Call It from n8n (Free Tier) Setup: Create a Cloud Run service and enable Require authentication (Cloud IAM). Create a Google Service Account with Cloud Run Invoker on that service. In n8n, set service_url, client_email, token_uri (https://oauth2.googleapis.com/token) in Set. Create a JWT (PEM) credential from your service account key (paste the full BEGIN/END block). Run the workflow; the second HTTP node calls your Cloud Run URL with the ID token. Requirements Cloud Run service URL (auth required) Google Service Account with Cloud Run Invoker Private key JSON fields downloaded from Service Account | needed to generate JWT credentials More details Full write-up (minimal + modular versions): Build a Secure Google Cloud Run API, Then Call It from n8n (Free Tier)
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by Anthony
How It Works This sub-workflow uploads files to Dropbox and returns a direct download link: Upload file - Receives file from parent workflow and uploads to Dropbox Check for existing link - Queries Dropbox API to see if a shared link already exists for this file Create or reuse link - If no link exists, creates a new public shared link; otherwise uses existing one Convert to direct link - Transforms Dropbox's standard sharing URL (dropbox.com) into a direct download URL (dl.dropboxusercontent.com) Return URL - Outputs the final direct download link for use in other workflows Important: File names must be unique, or you'll get links to old files with the same name. **Setup Steps Time estimate: ~25-30 minutes (first time)** Create Dropbox app - Register at https://www.dropbox.com/developers/apps and get App Key + App Secret. Grant "Files and folders" + "Collaboration" permissions Configure OAuth2 credentials - Add Dropbox OAuth2 credentials in n8n (2 places: "Upload a file" and "List Shared Links" nodes). Set redirect URI to your n8n instance Create data table - Make a table called "cred-Dropbox" with columns: id (value: 1) and token (your access token) Set up token refresh - Deploy the companion "Dropbox Token Refresher" workflow (referenced but not included as its a paid workflow) to auto-refresh tokens Customize upload path - Update the path in "Upload a file" node (currently /Automate/N8N/host/) Test with form - Use the included test workflow to verify everything works Pro tip: Generate your first access token manually in the Dropbox app console to test uploads before setting up auto-refresh.
by Aitor | 1Node
This workflow triggers when a new opportunity is created in Go High Level (GHL), fetches the associated contact details, and initiates an outbound call using Vapi. The call is made by a Vapi assistant configured with the appropriate credentials. 🧾 Requirements Go High Level (GHL) A Go High Level account GHL developer private app and credentials enabled in n8n Webhook URL** from n8n added to your GHL private app Vapi A Vapi account with credit A connected phone number to make calls An assistant created and ready to make calls Your Vapi API key 🔗 Useful Links GHL Docs Vapi Docs n8n GHL Credentials Setup 🔄 Workflow Breakdown 1. Trigger: GHL Opportunity Created Triggered by a Webhook (POST) from Go High Level when a new opportunity is created. Webhook URL must be enabled in your GHL private app. 2. Get a GHL Contact Retrieves contact details from GHL CRM using the contact ID from the opportunity. Includes information such as phone number, name, and custom fields. 3. Wait 5 Minutes Introduces a short delay before making the call to avoid immediate outreach. Helps ensure data is synced and gives the system time for any follow-up automation. 4. Set Vapi Fields (Manual Step) Set the required fields for the Vapi API call: vapiPhoneNumberId – the number id making the call vapiAssistantId – the assistant who will handle the call vapiApi – your secure Vapi API key 5. Start Outbound Vapi Call Sends a POST request to https://api.vapi.ai/call Payload includes: Contact’s phone number Selected Vapi assistant Vapi phone number id to start the call ✅ Summary This n8n automation connects your CRM (Go High Level) with voice automation (Vapi) to immediately respond to new opportunities. Once a lead is created, they will receive a personalized voice call from a Vapi AI assistant. 🙋♂️ Need Help? Feel free to contact us at 1 Node Get instant access to a library of free resources we created.
by System Admin
Tagged with: , , , ,
by zahir khan
🚀 The Ultimate AI Sales Outbound Engine Stop wasting hours on manual dialing and listening to ringtones. This workflow transforms your *Airtable* into a high-velocity *AI Call Center* using *Vapi AI*. ⚡ TL;DR Automate lead qualification calls, handle voicemails like a pro, and sync every transcript back to your CRM without lifting a finger. 🧠 How it Works The Scout: Every minute, n8n scans your Airtable for leads marked TBC. The Dialer: It triggers a personalized Vapi AI call, passing along the lead’s name and context. The Reporter: Once the call ends, a Webhook catches the data, including the recording, transcript, and AI summary. The Strategist: * Success? Updates the lead to Called and logs the summary. Voicemail?* Automatically triggers a *double-dial** retry after 1 minute. Still nothing?* Schedules a final follow-up for the next day at the *optimal time (your time)**. 🛠️ Setup Guide Airtable:** Create a "Leads" table with fields for Status, Mobile, Attempt, and Summary. Vapi:** Plug in your Assistant ID and set the Webhook URL to this workflow's address. n8n:* Use the *Header Auth** credential for your Vapi API key to keep things secure. 💎 Why This Wins Aggressive Retries:** Includes a built-in "Double-Dial" strategy to increase connection rates. Clean CRM:** No more messy notes; get structured AI summaries for every call. Plug-and-Play:** Designed to be easily customized for any industry—from real estate to SaaS.
by Isight
Who’s it for This workflow is designed for organizations or services managing appointments, such as interview scheduling, class enrollments, or client meetings. It’s ideal for users who want to automate appointment creation, rescheduling, cancellation, and data retrieval from a single webhook endpoint. How it works / What it does ● Receives incoming appointment requests via a Webhook node. ● Processes requests in the Set Fields node, handling multiple actions: • Set Appointment: Adds a new appointment and assigns an available interviewer. • Reschedule: Changes the appointment date based on availability. • Cancel: Deletes an appointment and frees the interviewer’s slot. • Get List: Returns a user’s list of classes. • Get User Info: Retrieves detailed information about a specific user. All actions follow strict instructions to check tables, update rows, and return structured JSON responses. How to set up Add the Webhook node and set the HTTP method to POST. Connect it to the Set Fields node. Configure the Set Fields node with the desired assignments (set_appointment, reschedule, cancel, get_list, get_user_info). Ensure your database tables (interviewers, enrollers) are properly configured and accessible. Requirements • n8n environment • Database or table access for interviewers and enrollers • Properly formatted incoming JSON requests with necessary fields (e.g., name, nationality number, preferred date). How to customize the workflow • Add or modify assignment actions to handle additional appointment scenarios. • Adjust table names or database connections based on your environment. • Extend JSON responses for custom client-side handling.
by Avkash Kakdiya
How it works This workflow automates the transfer of files from an FTP server to Google Drive. It runs on a schedule, lists files in a defined FTP directory, and processes them in batches. Each file is downloaded sequentially from the FTP server and uploaded to Google Drive. The workflow ensures filenames are preserved for consistency during the sync process. Step-by-step 1. Trigger the workflow Schedule Trigger** – Starts the workflow automatically at set intervals. 2. List files from FTP FTP (List Files)** – Retrieves a list of files from the FTP server path. 3. Batch process files Split in Batches** – Breaks the file list into smaller chunks for sequential handling. 4. Download file from FTP FTP (Download File)** – Downloads each file from the FTP server. 5. Upload to Google Drive Google Drive (Upload File)** – Uploads the file to Google Drive while keeping its original filename. Why use this? Automates repetitive FTP-to-cloud transfer tasks with no manual intervention. Reduces system overload by processing files in manageable batches. Ensures data backup from FTP servers directly into cloud storage. Maintains file structure and filenames for easy reference and retrieval. Provides reliable, scheduled synchronization between FTP and Google Drive.
by System Admin
Tagged with: , , , ,