by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,
by Bedrijfautomatiseren.nl
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. ## Scrape Google Maps leads to Google Sheets via Apify Who's it for This workflow is ideal for marketers, sales professionals, and solo entrepreneurs who want to collect local leads based on Google Maps search terms. For example, restaurants in North Holland. What it does This workflow uses an Apify actor to scrape business details from Google Maps and automatically appends them to a Google Sheet with the following fields: Business name Street Postal code City Website Phone number How it works The workflow starts with a manual trigger (you can replace it with any other trigger). The Google Maps Scraper Apify actor is launched. A short wait ensures the actor completes the task (you can increase the wait time for more extensive outputs). The resulting dataset is retrieved from Apify. Data is mapped and added into a connected Google Sheet. How to set up Step 1: Configure the “Run Apify scraper” node Go to the Google Maps Scraper actor on Apify. Create a new Task with your search term. Find your actor from list. Step 2: Edit the “Find your last run” node Select the correct actor (Google Maps Scraper) from the dropdown in this node. Step 3: Fetch the dataset In the “Get the data from Apify” node, use {{$json.defaultDatasetId}} to dynamically pull the correct dataset. Step 4: Connect your Google Sheet Link your Google account and select the desired spreadsheet and tab (for example, Leads). Make sure the column headers match the data fields. Current column headers: Title Street Postcode City Website Phone If you have any questions, feel free to reach out to info@ai-amigos.com
by DataForSEO
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Who’s it for SEO analysts and marketers who want to capture and analyze source references from Google’s AI Mode answers, track competitor mentions or measure brand visibility in generative search features. Note: this template uses DataForSEO community node and works for self-hosted n8n instances only.* What it does This workflow automates the process of gathering source references from Google’s AI Mode results. Using the DataForSEO SERP API, it extracts the source title, URL, and domain, and records that data in Google Sheets. You can use this template to monitor how often your site appears in AI-generated answers or what competitor domains get mentioned for your target keywords. How it works Triggers on your chosen schedule (default: every 7 days). Calls the DataForSEO SERP API for your keyword. Extracts and cleans Google AI Mode results. Stores the data in a Google Sheet. Requirements Self-hosted n8n instance DataForSEO account A Google Sheet that contains the Source, Domain, URL, Title, and Text columns (as in the example: https://docs.google.com/spreadsheets/d/1XCjkjyVxrtpTUQenHeR3B07xfEZ489mhuVidjhGOO7I/edit?usp=sharing). Customization You can change the schedule or swap the Google Sheet for BI dashboards or reporting tools.
by DataForSEO
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Who’s it for SEOs and digital marketers who want to track the sources Google cites in its AI Overview SERP feature for specific keywords, monitor competitor visibility, or their website’s presence in AI-generated snippets. Note: this template uses DataForSEO community node and works for self-hosted n8n instances only.* What it does This workflow automatically collects all source references from Google’s AI Overview results using the DataForSEO SERP API. It extracts the source title, URL, and domain, and logs that data in Google Sheets for easy filtering and analysis. You can use this template to monitor how often your site appears in AI-generated summaries or to discover high-authority domains mentioned for your target keywords. How it works Triggers on your chosen schedule (default: every 7 days). Calls the DataForSEO SERP API for your keyword. Parses AI Overview results to extract source citations. Saves the structured data in a Google Sheet. Requirements Self-hosted n8n instance DataForSEO account A Google Sheet that contains the Source, Domain, URL, Title, and Text columns (as in the example: https://docs.google.com/spreadsheets/d/1XCjkjyVxrtpTUQenHeR3B07xfEZ489mhuVidjhGOO7I/edit?usp=sharing). Customization You can change the schedule or swap the Google Sheet for BI dashboards or reporting tools.
by Aitor | 1Node
This n8n automation connects your Google Sheets to Vapi, enabling you to automatically call new contacts as soon as their information is added to your spreadsheet. Instantly reach out with a personalized voice call from a Vapi AI assistant, based on any event that adds a new row to your sheet. 🧾 Requirements Google Sheets Google Sheets credentials** enabled and tested in n8n. A table in your Google Sheet formatted as follows: Required Columns & Data Types | Column Name | Example Value | Data Type | Notes | |---------------|----------------|-------------------|-----------------------------------------------| | phone_number | +11234567890 | Text (String) | Must include the + and country code, no spaces or dashes. Mandatory for workflow. | | (optional) | first_name | John | Text (String) | For call personalization. | | (optional) | email | test@email.com | Text (String) | For follow-ups or records. | | (additional)| Any extra info | | | Can be used for advanced customization. | Ensure all columns contain data in plain text format. Phone number field must never be empty and follow the E.164 international format: + + country code + phone number. Vapi A Vapi account with credit. A connected phone number (to originate calls). An assistant (AI voice agent) created and ready to make calls. Your Vapi API key. 🔗 Useful Link Vapi Docs 🛠️ Comprehensive Setup Instructions 1. Prepare Your Google Sheet Create a Google Sheet with the required column names as listed above. Ensure your phone_number column is correctly formatted (international format, no spaces). Optionally, add columns such as first_name, email, or any field your workflow should use. 2. Set Up Google Sheets Credentials in n8n In n8n, go to "Credentials" and create Google Sheets credentials. Authenticate with your Google account and test the connection. 3. Configure the n8n Workflow Add a Google Sheets Trigger node: Set trigger mode to "New Row". Select your Google Sheet and worksheet. Add a Wait node: Configure a wait time (e.g., 4 minutes) between trigger and next action. 4. Map & Set Vapi Fields Add a Set node: Create fields required by the Vapi API: phone_number_id: Copy from your Vapi dashboard. assistant_id: Use the ID of your AI assistant. api_key: Store securely (see n8n secret management). to: Set as the Google Sheet's phone_number value. Example: {{ $json["phone_number"] }} (Optional) Map extra fields from Sheet (e.g., first_name, email) for personalized calls. 5. Add the HTTP Request to Vapi Add an HTTP Request node: Method: POST URL: https://api.vapi.ai/call Body parameters: Use all mapped fields from previous step. 6. Test the Workflow Add a new row to your Google Sheet. Verify that, after the wait period, Vapi attempts the call and uses personalized information. 🎨 Customization Options Personalize Calls Further:** Add additional columns like first_name, product, or appointment_time in Google Sheets. Map these into the API call so Vapi can use them for dynamic greetings or contextual responses. Conditional Flows:** Insert n8n logic nodes (IF, Switch) before making the Vapi call. For example, only call if a "Consent" column is TRUE, or select different assistants based on region or product interest. Multiple Assistants/Numbers:** Store different assistant IDs or phone number IDs in columns, and dynamically route calls based on sheet data (e.g., region-specific assistants). Advanced Field Mapping:** Pass any relevant sheet fields into the API payload and configure your Vapi assistant scripts to utilize these variables for high-touch, customized user interactions. 📇 Example Google Sheet Setup | phone_number | first_name | email | product | consent | |--------------|------------|------------------|------------|---------| | +11234567890 | John | j@email.com | Widget A | TRUE | | +44207123456 | Maria | maria@x.co.uk | Widget B | FALSE | In n8n, map only those rows where consent=TRUE. 🙋♂️ Need Help? Feel free to contact us at 1 Node Get instant access to a library of free resources we created.
by Harry Gunadi Permana
Forex News Trading Result Data This n8n template simulates the results if we take every trade based on the previous workflow: https://n8n.io/workflows/8340-automated-forex-news-alert-system-with-forex-factory-and-telegram/ Use Cases Analyze which news events have a higher probability of generating profit. Decide on Take Profit and Stop Loss levels for specific currency pairs or news events. Currency Pairs EURUSD, GBPUSD, AUDUSD, NZDUSD, USDJPY, USDCHF, USDCAD, XAUUSD Limitations We use High, Low, and Live Prices from MyFxBook. These values may differ depending on the broker. Spread widening and slippage will vary across brokers. Price gaps may occur over weekends. Profit/Loss also depends on when the trade is closed. How It Works Each day, the workflow checks if the Sheets have empty High and Low Price values. It queries MyFxBook for updated High and Low Prices for Date+1 (the next trading day after opening a buy/sell position) using the HTTP Request node. The response from the HTTP Request is parsed. If new High and Low data are available, the workflow retrieves the date. It scrapes the new High and Low Price data and calculates the multiplier for the respective currency pair. Example: USDJPY prices have 3 decimals, so the multiplier is 1000. Sheets are updated with High, Low, Points Up, and Points Down. The workflow checks if the buy/sell position results in profit or loss. Example: if we have a EURUSD Buy position and Points Up > 0, then there is a possibility of profit. Points Up can be negative if the new High Price remains below the Buy position entry price. If we have a Buy position and Points Up ≤ 0, then there is a possibility of a loss. How to Use Enter all required credentials. Create or download a Google Sheets file (example): https://docs.google.com/spreadsheets/d/1OhrbUQEc_lGegk5pRWWKz5nrnMbTZGT0lxK9aJqqId4/edit?usp=drive_link Run the workflow. Requirements Enable the Google Drive API in Google Cloud Console. Provide Google Sheets credentials. Need Help? Join the Discord or ask in the Forum! Thank you!
by 1Shot API
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Self-Hosted x402 Facilitator In the x402 payment protocol, a facilitator is a role which helps sellers settle stablecoin payments onchain without dealing with blockchain complexities. This workflow allows you to run your own fully-featured, specification-compliant facilitator in n8n. You might want to do this if you want to accept payments in tokens not supported by existing facilitators or as your own business! Details A facilitator supports three routes: /verify, /settle, and /supported. These routes are all created for you in this workflow with proper error handling and responses. A seller will first hit /verify with their payment details to ensure the payment information is correct. Next they will hit the /settle endpoint with the same payment information to settle the paymet on the blockchain. The /supported endpoint is used to indicate to sellers which blockchains you choose to support in a programatic fashion. Setup Create a 1Shot API account Create 1Shot API wallets for the networks where you wish to facilitate token payments and load them with sufficient gas tokens. Using 1Shot Prompts, import the transferWithAuthorization functions for the tokens you will settle payments for. Import this workflow into n8n and create a credential to link the 1Shot API community node to your 1Shot API business account. Enter the token and network information into the payment token and network configuration nodes indicated by the sticky nodes. Turn on your workflow and settle payments!
by Omer Fayyaz
This n8n template implements a Calendly Availability Checker that provides real-time availability information for your Calendly event types via a simple API endpoint Who's it for This template is designed for developers, businesses, and service providers who need to programmatically check Calendly availability. It's perfect for: Web developers** building custom booking interfaces that need real-time availability data Chatbot developers** who want to suggest available times to users Website builders** who want to display available slots on their site Integration developers** who need to check availability before creating bookings Businesses** that want to build custom scheduling experiences on top of Calendly Service providers** who need availability data for their own applications or dashboards How it works / What it does This workflow creates a RESTful API endpoint that returns real-time availability information from your Calendly account. The system: Accepts webhook requests via POST with optional parameters: event_type_uri (optional) - Specific event type to check days_ahead (optional, default: 7) - Number of days to check ahead Authenticates with Calendly API using OAuth2 credentials to access your account Retrieves user information to get your Calendly user URI and account details Lists all active event types from your Calendly account Selects the target event type: Uses the event_type_uri from the request if provided Otherwise defaults to the first active event type Fetches available time slots from Calendly's availability API for the specified date range Formats the availability data into a structured response including: Total number of available slots Next available slot (formatted and ISO timestamp) Array of all available slots with formatted times and booking URLs Slots grouped by day for easy consumption Complete list of all event types Returns a comprehensive JSON response with all availability information ready for integration How to set up 1. Configure Calendly OAuth2 Credentials Go to calendly.com/integrations Click "API & Webhooks" Create an OAuth2 application or use Personal Access Token In n8n, create a new credential: Type: "Calendly OAuth2 API" Follow the OAuth flow to connect your Calendly account The credential will be used by all HTTP Request nodes in the workflow 2. Activate the Workflow Open the workflow in n8n Ensure the Calendly OAuth2 credential is properly configured Activate the workflow to make the webhook endpoint available 3. Test the Workflow Use the "Test workflow" button in n8n to manually trigger it Or send a POST request to the webhook URL: { "event_type_uri": "optional-event-uri", "days_ahead": 7 } Verify the response contains availability data Check that the "Get Current User" node successfully retrieves your account info 4. Customize (Optional) Adjust the default days_ahead value in the "Set Configuration" node (currently 7 days) Modify the date range calculation in "Get Available Times" node Customize the response format in "Respond with Availability" node Add filtering logic to select specific event types Add caching to reduce API calls Requirements Calendly account** with at least one active event type n8n instance** (self-hosted or cloud) Calendly OAuth2 API credentials** configured in n8n Webhook access** (if using n8n cloud, webhooks are automatically available) How to customize the workflow Modify Date Range Edit the "Set Configuration" node to change the default days_ahead value Update the start_time and end_time calculations in "Get Available Times" node Currently checks from tomorrow (1 day ahead) to 7 days ahead by default Adjust the date calculation expressions as needed Filter Specific Event Types Modify the "Select Event Type" node to add filtering logic Add an IF node to check event type names or slugs Filter by duration, active status, or custom criteria Return multiple event types if needed Customize Response Format Edit the "Respond with Availability" node to change the JSON structure Add or remove fields from the response Format dates/times differently Include additional metadata from event types Add pagination for large slot lists Add Caching Insert a Code node before "Get Available Times" to check cache Store availability data temporarily to reduce API calls Set appropriate cache expiration times Consider using n8n's built-in cache or external storage Add Error Handling Enhance error handling in HTTP Request nodes Add validation for request parameters Return meaningful error messages in the response Handle cases where no event types exist Handle cases where no availability exists Integrate with Other Services Add nodes to log availability checks to a database Send availability data to analytics platforms Trigger notifications when availability changes Sync availability with external calendars Build availability dashboards Key Features RESTful API endpoint** - Simple POST endpoint for checking availability Real-time availability** - Fetches current availability directly from Calendly API Flexible event type selection** - Supports specific event type or auto-selects first available Configurable date range** - Customizable number of days to check ahead Comprehensive response format** - Returns formatted and raw availability data Multiple data views** - Provides slots as array, grouped by day, and summary statistics Event type information** - Includes details about all available event types Human-readable formatting** - Formats dates and times for easy display Booking URLs included** - Each slot includes direct booking URL Error resilience** - Nodes configured with continueRegularOutput to handle API errors gracefully Use Cases Custom booking widgets** - Display available slots on your website without embedding Calendly Chatbot integration** - Let AI assistants suggest available times to users Mobile app integration** - Check availability before showing booking options in mobile apps Multi-calendar systems** - Aggregate availability from multiple Calendly accounts Availability dashboards** - Build internal dashboards showing team availability Smart scheduling** - Check availability before sending meeting invitations Booking confirmation flows** - Verify availability before processing bookings Calendar sync verification** - Ensure Calendly availability matches other calendar systems Analytics and reporting** - Track availability patterns and booking trends Custom scheduling UIs** - Build completely custom scheduling interfaces using availability data Data Fields Returned User Information User name, email, scheduling URL User URI and organization URI Event Type Information Event type name, duration (minutes), URI Complete list of all active event types with details Availability Summary has_slots - Boolean indicating if any slots are available total_slots - Total number of available slots next_available - Human-readable formatted string of next available slot next_available_iso - ISO 8601 timestamp of next available slot Available Slots Array Each slot includes: start_time - ISO 8601 timestamp formatted - Human-readable date/time string booking_url - Direct URL to book this specific slot Slots by Day Grouped object with days as keys Each day contains array of time slots with formatted times and booking URLs Format: { "Monday, Dec 2": [{ time: "10:00 AM", url: "..." }] } Metadata checked_at - ISO timestamp of when availability was checked success - Boolean indicating successful execution Workflow Architecture The workflow uses a linear processing pattern with data transformation at each step: Webhook Trigger → Receives POST requests with optional parameters Set Configuration → Extracts and sets default values for event_type_uri and days_ahead Get Current User → Authenticates and retrieves Calendly user information Extract User Info → Parses user data to extract URIs and account details Get Event Types → Fetches all active event types for the user Select Event Type → Chooses target event type (from request or first available) Get Available Times → Queries Calendly API for available time slots Format Availability → Transforms raw API data into structured, formatted response Respond with Availability → Returns comprehensive JSON response to caller Example Scenarios Scenario 1: Check Default Availability Developer sends POST request to webhook endpoint with empty body Workflow uses default 7-day lookahead period Workflow selects first active event type automatically Returns availability for next 7 days with all slots formatted Developer displays slots in custom booking interface Scenario 2: Check Specific Event Type Developer sends POST request with specific event_type_uri Workflow uses provided event type instead of default Checks availability for that specific event type only Returns slots grouped by day for easy calendar display Developer shows availability in day-by-day calendar view Scenario 3: Extended Date Range Developer sends POST request with days_ahead: 30 Workflow checks availability for next 30 days Returns comprehensive list of all available slots Developer uses data to show monthly availability view User can see all available times for the next month Scenario 4: Chatbot Integration User asks chatbot "When are you available?" Chatbot calls webhook endpoint to get availability Workflow returns next available slot and total count Chatbot responds: "I have 15 slots available. Next available: Monday, Dec 2 at 10:00 AM" Chatbot offers to book the next available slot This template provides a powerful API endpoint for checking Calendly availability, enabling developers to build custom scheduling experiences while leveraging Calendly's robust scheduling infrastructure.
by Lorena
This workflow queries a table in MySQL and inserts the data into Google Sheets.
by Lorena
This workflow imports data from Google Sheets into a MySQL database.