Import JSON data into Google Sheets and CSV file
This workflow gets data from an API and exports it into Google Sheets and a CSV file.
Monitor USDT ERC-20 wallet balance with Etherscan and Telegram notifications
Overview This n8n workflow is specifically designed to monitor the USDT ERC-20 balance within a specific wallet. It uses Etherscan's public blockchain database, which does not require API authentication, to periodically check and process transaction data. This workflow is ideal for users who need an automated solution to track ERC-20 wallet transactions. Features Automatic Monitoring: Executes every 5 minutes to capture new transactions. Customizable Filters: Customize tracking based on parameters like transaction duration and wallet addresses. Data Aggregation: Compiles transaction data into a single, structured list. Formatted Outputs: Presents processed data in an organized format. Telegram Tracking: Tracks wallet balances via Telegram notifications using the bot. Requirements n8n Setup: Requires a self-hosted or cloud-based n8n instance. Basic Understanding: Basic knowledge of n8n workflows and nodes. Installation and Configuration Import Workflow: Load the provided JSON workflow into your n8n instance. Configure the User Data Node: Enter your ERC-20 Wallet Address in the 'Your Wallet Address' field. Enter your Etherscan API Key in the “Your Etherscan API Key” field. Enter your USDT ERC-20 Contract Address in the "Your ERC-20 USDT Contract Address" field (0xdAC17F958D2ee523a2206206994597C13D831ec7). You can also monitor another token by entering a different contract address. Configure the Telegram Node: Go to Telegram and search for "BotFather". Select /newbot from the BotFather menu to create your bot. Get the API key BotFather provides. Go to Telegram and search for "Get My ChatID". Start the conversation and get your ChatID. Use this information to configure the Telegram Node. Schedule Trigger Node: By default, the workflow is triggered every 5 minutes. Adjust this according to your needs. Test the Workflow: Execute the workflow manually to ensure everything is working as expected. How It Works Schedule Trigger: Starts the workflow at predetermined intervals. Edit Fields: Sets the wallet address, Etherscan API key, and USDT ERC-20 token address. Edit Telegram Settings: Create a bot via BotFather. Configure the API key and Telegram Chat ID. Etherscan Data Import: Collects transaction data from the ERC-20 wallet using Etherscan's public database. Final Results: Organizes and formats the transaction data for review. Telegram Bot Message Sending: If there is a balance change, it sends a formatted message about the balance change. If there is no balance change, it sends a message that your balance has not changed. You can configure it to avoid sending a message when there is no change.
Enrich company firmographic data in Google Sheets with Explorium MCP
Google Sheets Company Enrichment with Explorium MCP Template Download the following json file and import it to a new n8n workflow: google\sheets\enrichment.json Overview This n8n workflow template enables automatic enrichment of company information in your Google Sheets. When you add a new company or update existing company details (name or website), the workflow automatically fetches additional business intelligence data using Explorium MCP and updates your sheet with: Business ID NAICS industry code Number of employees (range) Annual revenue (range) Key Features Automatic Triggering: Monitors your Google Sheet for new rows or updates to company name/website fields Smart Processing: Only processes new or modified rows, not the entire sheet Data Validation: Ensures both company name and website are present before processing Error Handling: Processes each row individually to prevent one failure from affecting others Powered by AI: Uses Claude Sonnet 4 with Explorium MCP for intelligent data enrichment Prerequisites Before setting up this workflow, ensure you have: n8n instance (self-hosted or cloud) Google account with access to Google Sheets Anthropic API key for Claude Explorium MCP API key <br /> Installation & Setup Step 1: Import the Workflow Create a new workflow. Download the workflow JSON from above. In your n8n instance, go to Workflows → Add Workflow → Import from File Select the JSON file and click Import Step 2: Create Google Sheet Create a new google sheet (or make a copy of this template) Your Google Sheet must have the following columns (exact names): name - Company name website - Company website URL business_id - Will be populated by the workflow naics - Will be populated by the workflow numberofemployees_range - Will be populated by the workflow yearlyrevenuerange - Will be populated by the workflow <br /> Step 3: Configure Google Sheets Credentials You'll need to set up two Google credentials: Google Sheets Trigger Credentials: Click on the Google Sheets Trigger node Under Credentials, click Create New If working on n8n Cloud, Click the 'Sign in with Google' button Grant permissions to read and monitor your Google Sheets If working on n8n Instance, Follow the OAuth2 authentication process here Fill the Client ID and Client Secret fields Google Sheets Update Credentials: Click on the Update Company Row node Under Credentials, select the same credentials or create new ones (The same you did above) Ensure permissions include write access to your sheets Step 4: Configure Anthropic Credentials Click on the Anthropic Chat Model node Under Credentials, click Create New Enter your Anthropic API key Save the credentials Step 5: Configure Explorium MCP Credentials Click on the MCP Client node Under Credentials, click Create New (Header Auth) Fill the Name field with api_key Fill the Value field with your Explorium API Key Save the credentials Step 6: Link Your Google Sheet In the Google Sheets Trigger node: Select your Google Sheet from the dropdown Select the worksheet (usually "Sheet1") In the Update Company Row node: Select the same Google Sheet and worksheet Ensure the matching column is set to row_number Step 7: Activate the Workflow Click the Active toggle in the top right to activate the workflow The workflow will now monitor your sheet every minute for changes How It Works Workflow Process Flow Google Sheets Trigger: Polls your sheet every minute for new rows or changes to name/website fields Filter Valid Rows: Validates that both company name and website are present Loop Over Items: Processes each company individually AI Agent: Uses Explorium MCP to: Find the company's business ID Retrieve firmographic data (revenue, employees, NAICS code) Format Output: Structures the data for Google Sheets Update Company Row: Writes the enriched data back to the original row Trigger Behavior First Activation: May process all existing rows to establish a baseline Ongoing Operation: Only processes new rows or rows where name/website fields change Polling Frequency: Checks for changes every minute Usage Adding New Companies Add a new row to your Google Sheet Fill in the name and website columns Within 1 minute, the workflow will automatically: Detect the new row Enrich the company data Update the remaining columns Updating Existing Companies Modify the name or website field of an existing row The workflow will re-process that row with the updated information All enrichment data will be refreshed Monitoring Executions In n8n, go to Executions to see workflow runs Each execution shows: Which rows were processed Success/failure status Detailed logs for troubleshooting Troubleshooting Common Issues All rows are processed instead of just new/updated ones Ensure the workflow is activated, not just run manually Manual test runs will process all rows First activation may process all rows once No data is returned for a company Verify the company name and website are correct Check if the company exists in Explorium's database Some smaller or newer companies may not have data available Workflow isn't triggering Confirm the workflow is activated (Active toggle is ON) Check that changes are made to the name or website columns Verify Google Sheets credentials have proper permissions Authentication errors Re-authenticate Google Sheets credentials Verify Anthropic API key is valid and has credits Check Explorium Bearer token is correct and active Error Handling The workflow processes each row individually, so if one company fails to enrich: Other rows will still be processed The failed row will retain its original data Check the execution logs for specific error details Best Practices Data Quality: Ensure company names and websites are accurate for best results Website Format: Include full URLs (https://example.com) rather than just domain names Batch Processing: The workflow handles multiple updates efficiently, so you can add several companies at once Regular Monitoring: Periodically check execution logs to ensure smooth operation API Limits & Considerations Google Sheets API: Subject to Google's API quotas Anthropic API: Each enrichment uses Claude Sonnet 4 tokens Explorium MCP: Rate limits may apply based on your subscription Support For issues specific to: n8n platform: Consult n8n documentation or community Google Sheets integration: Check n8n's Google Sheets node documentation Explorium MCP: Contact Explorium support for API-related issues Anthropic/Claude: Refer to Anthropic's documentation for API issues Example Use Cases Sales Prospecting: Automatically enrich lead lists with company size and revenue data Market Research: Build comprehensive databases of companies in specific industries Competitive Analysis: Track and monitor competitor information Investment Research: Gather firmographic data for potential investment targets
Customer feedback analysis with AI, QuickChart & HTML report generator
Generative Customer Insights from Feedback Data using AI Agents & Charts This workflow automates the analysis of customer feedback or social media data from Google Sheets using DeepSeek LLM, transforming raw text into structured semantic insights. The workflow also generates data visualizations and produces a final HTML report, ready for email delivery. --- Table of Contents What This Workflow Does Pre-conditions and Requirements Step-by-Step Workflow Explanation Example Results Customization Guide --- What This Workflow Does This workflow performs automated semantic analysis on unstructured feedback data (from Google Sheets), using LLM-based agents and a sequence of transformations. It achieves: Prompt proposal generation: AI generates generalizable prompts for various analysis dimensions. Row-level analysis: Each row of data is evaluated against all prompts. Output merging and refinement: Raw analysis outputs are merged, deduplicated, and semantically clustered. Visualization and report generation: QuickChart is used to create graphs, and an HTML report is produced. Email delivery: The full report is sent automatically via Gmail. --- Pre-conditions and Requirements API Keys DeepSeek API Key Gmail OAuth2 (for sending results) Google Sheet Access A preformatted Google Sheet containing social listening feedback The sheet must include at least 20 rows for sample prompt generation n8n Configuration Nodes used: Google Sheets, LangChain (LLM/Agent/Parser), Function, Merge, QuickChart (via URL), Gmail Ensure all credentials are configured properly in n8n’s credential manager --- Step-by-Step Workflow Explanation Google Sheet Import Retrieves feedback rows from a specific Google Sheet tab Filters to the first 20 rows for prompt generation Prompt Proposal Agent AI generates 3–6 row-level analysis prompts in a structured JSON format Prompts must be agnostic to product names and column headers Prompt Injection and Pairing Each row is paired with all prompts Combined into a single dataset for row-by-row LLM evaluation First Iteration of Analysis An LLM answers all injected prompts row-by-row Output is parsed and transformed into structured fields Semantic Merging and Refinement Merged lists of values from all rows AI clusters synonyms and regenerates improved prompt definitions Second Iteration of Analysis The refined prompts are used to re-analyze each row A new structured output per row is generated and merged into one object Summarization and Visualization AI generates summaries per dimension (e.g., sentiment) QuickChart visualizations are created and URL-encoded Cross-dimensional insights and a global narrative are generated Final Report Generation and Emailing A final HTML report is generated Sent to the specified email using Gmail node --- Example Results Customization Guide Modify Data Source Change the Google Sheet ID or sheet tab Add filters for specific time periods or product names Adjust Prompt Definitions Refine the initial prompt agent instruction to tailor the type of analysis Swap LLM Models Replace DeepSeek with OpenAI or another LLM via LangChain nodes Visual Styling Customize QuickChart configurations to adjust chart types, colors, legends Report Format Update the final HTML prompt to reflect brand design or restructure sections Add Report Destinations Replace Gmail with Google Drive upload, Notion page creation, or Slack post --- This end-to-end AI-powered social listening workflow enables scalable, repeatable, and customizable insights generation from unstructured customer feedback.
Extract & summarize Bing Copilot search results with Gemini AI and Bright Data
Who is this for? This workflow automates the process of querying Bing's Copilot Search, extracting structured data from the results, summarizing the information, and sending a notification via webhook. It leverages the Microsoft Copilot to retrieve search results and integrates AI-powered tools for data extraction and summarization. What problem is this workflow solving? Data Analysts and Researchers: Who need to gather and summarize information from Bing search results efficiently. Developers and Engineers: Looking to integrate Bing search data into applications or services. Digital Marketers and SEO Specialists: Interested in monitoring search engine results for specific keywords or topics. What this workflow does Manually extracting and summarizing information from search engine results can be time-consuming and error-prone. This workflow automates the process by: Performing Bing searches using Bright Data's Bing Search API. Extracting structured data from the search results. Summarizing the extracted information using AI tools. Sending the summarized data to a specified endpoint via webhook. Setup Sign up at Bright Data. Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions. In n8n, configure the Header Auth account under Credentials (Generic Auth Type: Header Authentication). The Value field should be set with the Bearer XXXXXXXXXXXXXX. The XXXXXXXXXXXXXX should be replaced by the Web Unlocker Token. In n8n, configure the Google Gemini(PaLM) Api account with the Google Gemini API key (or access through Vertex AI or proxy). Update the Perform a Bing Copilot Request node with the prompt you wish to perform the search. Update the Structured Data Webhook Notifier node with the Webhook endpoint of your choice. Update the Summary Webhook Notifier node with the Webhook endpoint of your choice. How to customize this workflow to your needs Modify Search Queries: Adjust the search terms to target different topics or keywords. Change Data Extraction Logic: Customize the extraction process to capture specific data points from the search results. Alter Summarization Techniques: Integrate different AI models or adjust parameters to change how summaries are generated. Update Webhook Endpoints: Direct the summarized data to different endpoints as required. Schedule Workflow Runs: Set up automated triggers to run the workflow at desired intervals.
Create single new masked email address with Fastmail
Template Description This n8n workflow template allows you to create a masked email address using the Fastmail API, triggered by a webhook. This is especially useful for generating disposable email addresses for privacy-conscious users or for testing purposes. Workflow Details: Webhook Trigger: The workflow is initiated by sending a POST request to a specific webhook. You can include state and description in your request body to customize the masked email's state and description. Session Retrieval: The workflow makes an HTTP request to the Fastmail API to retrieve session information. It uses this data to authenticate further requests. Create Masked Email: Using the retrieved session data, the workflow sends a POST request to Fastmail's JMAP API to create a masked email. It uses the provided state and description from the webhook payload. Prepare Output: Once the masked email is successfully created, the workflow extracts the email address and attaches the description for further processing. Respond to Webhook: Finally, the workflow responds to the original POST request with the newly created masked email and its description. Requirements: Fastmail API Access: You will need valid API credentials for Fastmail configured with HTTP Header Authentication. Authorization Setup: Optionally set up authorization if your webhook is exposed to the internet to prevent misuse. Custom Webhook Request: Use a tool like curl or create a shortcut on macOS/iOS to send the POST request to the webhook with the necessary JSON payload, like so: bash curl -X POST -H 'Content-Type: application/json' https://your-n8n-instance/webhook/87f9abd1-2c9b-4d1f-8c7f-2261f4698c3c -d '{"state": "pending", "description": "my mega fancy masked email"}' This template simplifies the process of integrating masked email functionality into your projects or workflows and can be extended for various use cases. Feel free to use the companion shortcut I've also created. Please update the authorization header in the shortcut if needed. https://www.icloud.com/shortcuts/ac249b50eab34c04acd9fb522f9f7068
AWS EC2 lifecycle manager with AI chat agent (describe, start, stop, reboot)
EC2 Lifecycle Manager with AI Chat Agent (Describe, Start, Stop, Reboot, Terminate) Watch the demo video below: [](https://youtu.be/C1s0AM1_ho0) Who’s it for This workflow is designed for DevOps engineers and cloud administrators who want to manage AWS EC2 instances directly from chat platforms (Slack, Teams, Telegram, etc.) using natural language. It helps engineers quickly check EC2 instance status, start/stop servers, reboot instances, or terminate unused machines — without logging into the AWS console. How it works / What it does A chat message (command) from the engineer triggers the workflow. The EC2 Manager AI Agent interprets the request using the AI chat model and memory. The agent decides which AWS EC2 action to perform: DescribeInstances → List or check status of EC2 instances. StartInstances → Boot up stopped instances. StopInstances → Gracefully shut down running instances. RebootInstances → Restart instances without stopping them. TerminateInstances → Permanently delete instances. The selected tool (API call) is executed via an HTTP Request to the AWS EC2 endpoint. The agent replies back in chat with the result (confirmation, instance status, errors, etc.). How to set up Add Chat Trigger Connect your chatbot platform (Slack/Telegram/Teams) to n8n. Configure the “When chat message received” node. Configure OpenAI Chat Model Select a supported LLM (GPT-4, GPT-4.1, GPT-5, etc.). Add system and user prompts to define behavior (EC2 assistant role). Add Memory Use Simple Memory to keep track of context (e.g., instance IDs, region, last action). Connect EC2 API Tools Create HTTP Request nodes for: Describe Instances Start Instance Stop Instance Reboot Instance Terminate Instance Use AWS credentials with Signature V4 authentication. API endpoint: https://ec2.{region}.amazonaws.com/ Link Tools to Agent Attach all EC2 tools to the EC2 Manager AI Agent node. Ensure the agent can choose which tool to call based on user input. Requirements n8n instance (self-hosted or cloud). Chat platform integration (Slack, Teams, or Telegram). OpenAI (or other LLM) credentials. AWS IAM user with EC2 permissions: ec2:DescribeInstances ec2:StartInstances ec2:StopInstances ec2:RebootInstances ec2:TerminateInstances AWS region configured for API calls. How to customize the workflow Add safety checks: Require explicit confirmation before running Stop or Terminate. Region flexibility: Add support for multi-region management by letting the user specify the region in chat. Tag-based filters: Extend DescribeInstances to return only instances matching specific tags (e.g., env=dev). Cost-saving automation: Add scheduled rules to automatically stop instances outside working hours. Enhanced chatbot UX: Format responses into tables or rich messages in Slack/Teams. Audit logging: Store each action (who/what/when) into a database or Google Sheets for compliance.
Generate creative solutions with dual AI agents, randomization & Redis
--- 🧠 AI Brainstorm Generator - Break Through Creative Blocks Instantly Transform any problem into innovative solutions using AI-powered brainstorming that combines mathematical randomness with intelligent synthesis. What This Workflow Does This workflow generates creative, actionable solutions to any problem by combining: Mersenne Twister algorithm for high-entropy random seed generation AI-driven random word generation to create unexpected semantic triggers Dual AI agents that brainstorm and refine ideas into polished solutions Simply input your challenge via the chat interface, and within 2 minutes receive a professionally refined solution that combines the best elements from 5+ innovative ideas. Key Features ✨ Consistent Creativity - Works regardless of your mental state or time of day 🎲 True Randomness - MT19937 algorithm ensures no pattern repetition 🤖 Multi-Model Support - Works with OpenAI GPT-4 or Google Gemini ⚡ Fast Results - Complete solutions in under 2 minutes 🔄 Self-Cleaning - Redis data expires automatically after use Use Cases Product ideation and feature development Marketing campaign concepts Problem-solving for technical challenges Business strategy innovation Creative writing prompts Workshop facilitation Requirements Redis database (local or cloud) OpenAI API key (GPT-4) OR Google Gemini API key n8n instance (self-hosted or cloud) How It Works User inputs problem via chat trigger Mersenne Twister generates high-entropy random numbers AI generates 36+ random words as creative triggers Brainstorming Agent creates 5 innovative solutions Critic Agent synthesizes the best elements into one refined solution Perfect for teams facing innovation challenges, solo entrepreneurs seeking fresh perspectives, or anyone who needs to break through creative blocks reliably. Setup Time: ~10 minutes Difficulty: Intermediate Support: Full documentation included via sticky notes ---
Automated customer onboarding with HubSpot, Gmail, and AI-powered scheduling
HubSpot Customer Onboarding Automation Overview Streamline your customer onboarding process with this intelligent automation that triggers when new contacts are created in HubSpot. The workflow automatically sends personalized welcome emails, schedules onboarding calls, and assigns customer success managers - ensuring every new customer receives immediate attention and proper support. What This Workflow Does Core Features Real-time Contact Detection: Monitors HubSpot for new contact creation events via webhooks Intelligent Email Generation: Uses AI to create personalized welcome emails based on contact information Automated Calendar Scheduling: Finds available time slots and schedules onboarding calls with new contacts Smart CSM Assignment: Automatically assigns contacts to appropriate customer success managers Multi-channel Communication: Sends HTML-formatted emails with professional styling Calendar Integration: Full Google Calendar management with attendee invitations Business Value Instant Response: New customers receive immediate welcome communication Personalization at Scale: Each email is uniquely crafted based on contact details and company information Process Consistency: Ensures every new contact follows the same high-quality onboarding process Resource Optimization: Automatically schedules meetings in available time slots Customer Experience: Professional, timely communication builds trust from day one Prerequisites Required Accounts & Credentials HubSpot Account with Developer API access for webhooks HubSpot Pro/Enterprise for OAuth2 API access OpenAI API access for AI-powered email generation Google Calendar account for meeting scheduling Gmail account for email delivery Public-facing n8n instance or n8n Cloud for webhook reception Technical Requirements HubSpot webhook subscription capabilities Google Workspace or personal Google account OpenAI API with GPT-4o access n8n instance with LangChain nodes package installed Setup Instructions Step 1: HubSpot Developer Setup Create HubSpot Developer Account: Go to HubSpot Developer Portal Create or access your developer account Navigate to Apps section Create Webhook Subscription: In HubSpot Developer Portal: Apps > Create App Configure webhook subscription for contact.creation events Set webhook URL to your n8n webhook endpoint Note the App ID and Developer API key Add HubSpot Developer Credentials: In n8n: Settings > Credentials > "HubSpot Developer API" Enter Developer API key and App ID Step 2: HubSpot OAuth2 Configuration Create OAuth2 App: In HubSpot Developer Portal: Create OAuth2 app Add required scopes: contacts.read contacts.write crm.objects.owners.read Add HubSpot OAuth2 Credentials: In n8n: Settings > Credentials > "HubSpot OAuth2 API" Complete OAuth authorization flow Step 3: OpenAI Configuration Get OpenAI API Key: Visit OpenAI Platform Create API key with GPT-4o model access Add OpenAI Credentials: In n8n: Settings > Credentials > "OpenAI API" Enter your API key Step 4: Google Calendar Setup Enable Google Calendar API: Go to Google Cloud Console Enable Google Calendar API Create OAuth2 credentials Add Google Calendar Credentials: In n8n: Settings > Credentials > "Google Calendar OAuth2 API" Complete OAuth authorization flow Step 5: Gmail Configuration Enable Gmail API: In Google Cloud Console: Enable Gmail API Use same OAuth2 credentials as Calendar Add Gmail Credentials: In n8n: Settings > Credentials > "Gmail OAuth2" Complete OAuth authorization Step 6: Customize Company Information Update "Enter your company data here" Node: company_name: "Your Company Name" sender_name: "Your Name" sender_email: "your-email@company.com" company_activity: "Your company description" Important: The sender_email must match your HubSpot user email and Google account email Step 7: Configure Calendar Settings Update Calendar Agent Tool: Verify calendar ID matches your Google Calendar Ensure proper timezone settings Test calendar access permissions Configuration Details Webhook Event Handling The workflow processes HubSpot webhook events: Event Type: contact.creation Data Processing: Extracts contact ID and subscription type Validation: Ensures event is contact creation before proceeding AI Email Generation System The email generation process uses: Model: GPT-4o-mini for cost-effective, high-quality content Structured Output: JSON format with subject and body fields Personalization Variables: Contact name, email, company information Template Consistency: Maintains professional tone and branding Calendar Management Features The calendar agent provides: Event Creation: With and without attendees Event Retrieval: Find available time slots Event Updates: Modify existing appointments Event Deletion: Remove canceled meetings Smart Scheduling: Automatically finds next available slot Contact Assignment Logic The CSM assignment process: Owner Lookup: Retrieves all HubSpot owners Sender Matching: Finds owner matching the configured sender email Contact Assignment: Updates contact record with owner ID Usage Instructions Automatic Operation Activate Workflow: Toggle workflow to "Active" status Webhook automatically registers with HubSpot Test with New Contact: Create test contact in HubSpot Monitor n8n execution log Verify email delivery and calendar event creation Monitor Performance: Check HubSpot webhook delivery logs Review email delivery success rates Validate calendar event creation Manual Testing Create Test Contact: Add new contact in HubSpot with complete information Ensure contact has valid email address Monitor workflow execution Validate Outputs: Email: Check recipient inbox for welcome email Calendar: Verify meeting invitation sent and accepted HubSpot: Confirm contact owner assignment Logs: Review n8n execution for any errors Expected Outputs Personalized Welcome Email AI-generated email featuring: Subject Line: Customized based on company and contact information Personalized Greeting: Uses contact's first name and relevant details Company Introduction: Includes sender name, company name, and business description Meeting Notification: Mentions upcoming scheduled onboarding call Professional Formatting: HTML-styled for professional appearance Scheduled Onboarding Call Google Calendar event with: Title: Descriptive meeting title including contact name Attendees: New contact automatically invited Timing: Next available 1-hour slot in sender's calendar Location: Virtual meeting details (if configured) Description: Meeting purpose and agenda HubSpot Contact Updates Automated contact management: Owner Assignment: Contact assigned to appropriate CSM Activity Logging: Webhook event recorded in contact timeline Data Enrichment: Additional contact information if available Calendar Tool Responses Structured responses from calendar operations: Success Confirmations: Meeting created successfully Error Handling: Clear error messages for failed operations Event Details: Complete information about created/modified events Troubleshooting Common Issues HubSpot Webhook Not Triggering Cause: Webhook subscription not properly configured or n8n endpoint not accessible Solutions: Verify n8n webhook URL is publicly accessible Check HubSpot webhook subscription settings Confirm webhook is active in HubSpot Developer Portal Test webhook delivery using HubSpot's testing tools Contact Information Not Retrieved Cause: Insufficient HubSpot API permissions or invalid contact ID Solutions: Verify HubSpot OAuth2 scopes include contact read permissions Check contact ID extraction from webhook payload Ensure contact exists and is accessible via API Test contact retrieval manually Email Generation Failed Cause: OpenAI API issues or insufficient token limits Solutions: Check OpenAI API key validity and usage limits Verify GPT-4o model access permissions Review prompt complexity and token requirements Test AI generation with simpler prompts Calendar Event Creation Failed Cause: Google Calendar permissions or invalid calendar ID Solutions: Verify Google Calendar OAuth2 permissions Check calendar ID configuration matches sender email Ensure calendar is accessible and not restricted Test calendar operations manually Gmail Delivery Problems Cause: Authentication issues or email formatting problems Solutions: Check Gmail OAuth2 token validity Verify sender email matches authenticated account Review HTML formatting for email compatibility Test email delivery with simple text format Performance Optimization High Contact Volume Implement rate limiting for API calls Add error retry mechanisms with exponential backoff Monitor token usage and API quotas Consider batch processing for multiple contacts Large Calendar Schedules Optimize calendar queries with specific date ranges Implement caching for frequently accessed calendar data Add timeout handling for slow calendar operations Consider pagination for large event lists Customization Examples Different CRM Systems Replace HubSpot with alternative CRMs: Salesforce: Use Salesforce webhook and contact management Pipedrive: Implement Pipedrive person creation triggers Zoho CRM: Configure Zoho webhook subscriptions Airtable: Use Airtable as simple CRM with webhooks Alternative Email Providers Replace Gmail with other email services: SendGrid: Use SendGrid for transactional emails Mailgun: Implement Mailgun email delivery Microsoft Outlook: Use Outlook for business email AWS SES: Configure Amazon Simple Email Service Enhanced Email Content Improve email personalization: Company Research: Add web scraping for company information Industry-Specific Templates: Different emails for different industries Multi-language Support: Detect contact language and localize content Dynamic Content: Include relevant resources based on contact properties Advanced Calendar Features Extend calendar functionality: Buffer Time: Automatically add buffer between meetings Meeting Types: Different durations for different contact types Timezone Handling: Automatic timezone detection and conversion Recurring Meetings: Schedule follow-up meetings automatically Workflow Branching Add conditional logic: Contact Source: Different flows for different lead sources Company Size: Tailored onboarding for enterprise vs SMB Geographic Routing: Regional CSM assignment Product Interest: Specialized onboarding based on product selection Security Considerations API Security Store all credentials securely in n8n credential system Use OAuth2 authentication where available Regularly rotate API keys and refresh tokens Monitor API usage for unauthorized access Data Privacy Ensure compliance with data protection regulations (GDPR, CCPA) Implement data retention policies for contact information Consider data encryption for sensitive customer data Document data flows for privacy audits Webhook Security Implement webhook signature verification where supported Use HTTPS endpoints for all webhook URLs Monitor webhook delivery logs for suspicious activity Consider IP whitelisting for webhook sources Integration Considerations HubSpot Best Practices Rate Limiting: Respect HubSpot API rate limits Error Handling: Implement proper error responses for webhooks Data Sync: Ensure data consistency between systems Backup Procedures: Regular backup of workflow configurations Email Deliverability Authentication: Implement SPF, DKIM, and DMARC records Content Quality: Avoid spam triggers in email content List Management: Respect unsubscribe requests Monitoring: Track email delivery and engagement metrics Business Process Integration Sales Handoff Lead Qualification: Integrate with lead scoring systems Sales Notification: Alert sales team of high-value prospects CRM Updates: Sync onboarding status with sales pipeline Activity Tracking: Log all onboarding activities in CRM Customer Success Workflows Milestone Tracking: Monitor onboarding progress Health Scoring: Assess customer engagement levels Escalation Procedures: Flag at-risk customers for intervention Success Metrics: Track onboarding completion rates Support and Maintenance Regular Maintenance Monitor webhook delivery success rates Review email open and response rates Update AI prompts based on feedback Audit calendar scheduling efficiency Performance Monitoring Track workflow execution times and success rates Monitor API usage and costs across all services Review customer feedback on onboarding experience Analyze conversion rates from onboarding to activation Updates and Improvements Stay updated with API changes from integrated services Test workflow compatibility with platform updates Implement customer feedback and feature requests Document all customizations for team reference Cost Optimization API Usage Management Monitor OpenAI token consumption patterns Optimize prompts for efficiency and effectiveness Track Google API usage for calendar and email operations Implement usage alerts and budgets Alternative Approaches Consider using local AI models for email generation Implement template-based emails for cost reduction Use free tiers where available and appropriate Regular cost-benefit analysis of integrated services License and Attribution This workflow template is provided under MIT license. Calendar agent implementation inspired by Nate Herk's YouTube channel. Attribution to original creators appreciated when sharing or modifying. Users are responsible for compliance with all integrated services' terms of service and data handling requirements. Support Contact For customizations, troubleshooting, or additional workflow development: Email: punit@geekfleet.dev Creator Profile: n8n Creator Profile Specializations: n8n, Make, LangChain, and LangGraph workflow development
JSON data utility: extract key-value pairs by index
Extract a key–value pair by index from JSON to fields in n8n This template takes a JSON object and a row index and returns exactly one key–value pair at that index. It’s a handy helper when you only need a single entry from a structured JSON payload (e.g., picking one form field for downstream logic). Who’s it for Makers who want a quick JSON picker without writing full parsing logic. Developers testing API payloads or building proofs of concept. Ops/analysts who need to pluck a single field for emails, documents or notifications. How it works Manual Trigger (When clicking ‘Test workflow’) starts the flow. Set → Input JSON Node holds your sample payload with: myData: an object of key → value pairs. rowIndex: a 0‑based index indicating which pair to extract. Code (Python) → Find Key‑Value Pair iterates myData and returns [key, value] at rowIndex as result. Set → Key maps result[0] to a field named result. Set → Value maps result[1] to a field named result[1]. The selected key and value are then available to any downstream nodes. How to set up Open the workflow and select Input JSON Node. Replace the sample with your own JSON: json { "myData": { "name": "Alice", "age": "30", "city": "Paris" }, "rowIndex": "1" } Click Execute Workflow. Check the Key and Value nodes for the outputs. Requirements n8n running (cloud or self‑hosted). Code node (Python) enabled in your n8n version. Input payload structure: myData: object with keys/values rowIndex: integer (0‑based) How to customize Pick by key name (instead of index): adjust the Python code to look up a specific key. Handle nested objects/arrays: walk or flatten the structure before selecting. Change output shape: return { "key": ..., "value": ... } or write directly to next‑node fields. Validate inputs: add checks for out‑of‑range rowIndex, non‑object myData, or empty objects. Add‑ons Webhook intake: Replace Manual Trigger with a Webhook to accept live JSON. Schema guard: Add an If/Function step to ensure myData is an object and rowIndex is numeric. Audit log: Append the selected key/value to Google Sheets or a database. Use Case Examples Pull one field from a large API response to include in an email. Extract a specific answer from a form submission for conditional routing. Read a configuration pair from a settings object to control a downstream step. Common troubleshooting | Issue | Possible Cause | Solution | |---|---|---| | “Index out of range” | rowIndex is larger than the number of keys | Use a valid 0‑based index; add a guard in the Code node to clamp or default. | | Wrong key returned | Object key order differs from expectations | Object key order isn’t guaranteed across sources—prefer pick by key name for reliability. | | Empty/invalid output | myData is not an object or is empty | Ensure myData is a flat object with at least one key. | | Python errors | Code node’s Python runtime not available | Enable Python in the Code node or convert the snippet to JavaScript. | | Value type mismatch | Value isn’t a string | Cast as needed in the Set node or normalize types in the Code node. | Need Help? If you’d like this to pick by key, handle nested JSON, accept data via Webhook or fully customized to your needs, write to us and we’ll adapt the template to your exact use case.
Automated digital certificate creator & validator with PDF generation
A complete workflow to create, send, and verify digital certificates fully automated with n8n.Perfect for courses, events, onboarding, internal training, or product education. Visit my website for the: full deploy guide) See my Templates on Github: paoloronco/n8n-templates) Example-certificate ✔ 1. Certificate Generation When a POST webhook request arrives, the workflow: reads name, surname, course, and email generates a unique Certification ID saves everything in the Data Table ✔ 2. Data Storage Every issued certificate is recorded in an n8n Data Table containing: Name Surname CertificationID This creates a permanent, searchable certificate registry. ✔ 3. PDF Creation Uses PDF Generator API to create a professional PDF certificate from an HTML template: fully customizable (layout, colors, branding) includes candidate data, course, ID, and date ✔ 4. Email Delivery The workflow automatically sends the certificate to the recipient using Gmail OAuth2 with: a predefined subject the PDF attached a customizable message ✔ 5. Verification System A public endpoint /certificationscheck allows: validation of Certification IDs returning the candidate’s name and surname if valid responding with ok: true/false ✔ 6. Included Mini Verification Website A ready-to-use HTML file allows users to: enter a Certification ID verify its authenticity view name and surname if the certificate exists Fully customizable (CSS, texts, branding). 🛠 Requirements Before using this workflow, you must have: n8n Data Table with ID fields: Name (string) Surname (string) CertificationID (string) PDF Generator API accountCredentials set in n8n as pdfGeneratorApi. Gmail OAuth2 credentialsConfigured in n8n as gmailOAuth2. Ability to call HTTP POST endpoints from your website, backend, forms, etc. 🚀 Installation Import workflow In n8n: Go to Workflows → Import Paste the JSON provided in this repository Configure Data Table Update the following nodes to point to your Data Table: Insert_Certificaton FindCertificationBy_ID FindCertificationBy_ID1 Make sure the Data Table has the fields: | Field | Type | | --- | --- | | Name | string | | Surname | string | | CertificationID | string | Configure Credentials In the workflow: Node Generate_PDF → set PDF Generator API credentials Node Email_Certification → set Gmail OAuth2 credentials Activate Workflow Click Activate in n8n. 🔧 How the Workflow Works 🧩 1. Webhook /certifications Receives candidate data and triggers the workflow. POST https://YOUR-N8N-DOMAIN.com/webhook/certification Headers: name: John surname: Doe course: email: john.doe@example.com 🧩 2. Unique ID Generation A Code node creates a random alphanumeric ID.If it already exists, a new one is generated. 🧩 3. Data Table Insert Stores the certificate data for future lookup. 🧩 4. PDF Generation Builds a PDF from the (fully editable) HTML template. 🧩 5. Email Sending Delivers the certificate to the candidate. 🔍 Certificate Verification (/certificationscheck) API Behavior Send a POST request https://YOUR-N8N-DOMAIN.com/webhook/certificationcheck with header id: CERTIFICATION-ID. Valid ID: { "ok": "true", "name": "John", "surname": "Doe" } Invalid ID: { "ok": "false" } This request can be made manually (from tools like Postman, cURL, or your backend), or automatically through the HTML verification page included in the GitHub repository (the Cerification_Check.html template) found in your project files
SmartLead Sheet Sync (Airtable Edition)
Auto-capture client inquiries straight into Airtable — no coding, just plug & play. Running a service business, agency, or funnel? Stop manually copying leads from your form to your CRM. This simple automation does it for you. ✅ What It Does: Instantly captures form submissions via Webhook Formats the data (name, email, project info, etc.) Adds each new lead into your Airtable base — like magic 💼 Perfect For: Freelancers & coaches Agencies & consultants Creators with landing pages or service funnels 💻 You’ll Get: A pre-built n8n workflow (Webhook → Code → Airtable) Plug & play setup instructions (takes 5–10 mins) Clean, editable JavaScript code to match your form fields Thumbnail for marketing or reselling 🛠 Tools Used: n8n (Free automation platform) Airtable (Free/paid CRM & spreadsheet tool) 🔒 No fees. No recurring tools. No code headaches. 💸 Built to deliver massive value for just $8.