Send personalized healthcare joke emails with OpenAI, Gmail, and Google Sheets
Healthcare Email Autoresponder - Daily Outreach π§
A production-ready n8n workflow for automated healthcare email marketing with AI-powered personalization.
π― What This Workflow Does
This automated email system sends daily personalized healthcare-themed emails to your contact list. Perfect for:
- Healthcare professionals building patient relationships
- Medical practices maintaining client engagement
- Wellness coaches staying connected with clients
- Health educators sharing daily motivation
β¨ Key Features
- AI-Powered Personalization: Uses OpenAI to customize each email with recipient's name
- Smart Rate Limiting: Random 2-5 minute delays between emails to avoid spam filters
- Batch Processing: Limits to 10 emails per run for better deliverability
- Email Tracking: Updates Google Sheets to prevent duplicates and track progress
- Professional Templates: Healthcare-themed content with customizable signatures
- Automated Scheduling: Runs daily at 1 PM (customizable)
π οΈ Setup Instructions
Prerequisites
- n8n instance (cloud or self-hosted)
- Gmail account for sending emails
- Google Sheets for contact management
- OpenAI API key
Step 1: Import the Workflow
- Download the
Healthcare_Email_Autoresponder_Community_Template.jsonfile - In n8n, go to Templates and click "Import from File"
- Select the downloaded JSON file
- The workflow will be imported as inactive
Step 2: Configure Credentials
Gmail OAuth2 Setup:
- Click on the "Send Email" node
- Create new Gmail OAuth2 credential
- Follow n8n's Gmail setup guide
- Test the connection
Google Sheets Setup:
- Click on the "Healthcare_Contact_List" node
- Create new Google Sheets OAuth2 credential
- Replace
YOUR_GOOGLE_SHEET_ID_HEREwith your actual sheet ID - Ensure your sheet has these columns:
- First Name
- Emailed (for tracking timestamps)
OpenAI API Setup:
- Click on the "OpenAI Chat Model" node
- Create new OpenAI credential
- Add your OpenAI API key
- Select your preferred model (gpt-4o-mini recommended for cost efficiency)
Step 3: Customize Your Email Template
- Click on the "AI Email Generator" node
- Edit the system message to include your details:
- Replace
[YOUR NAME HERE]with your actual name - Replace
[YOUR TITLE HERE]with your professional title - Replace
[YOUR COMPANY HERE]with your company name - Replace
[YOUR PHONE NUMBER]with your phone number - Replace
[YOUR EMAIL]with your email address - Replace
[YOUR WEBSITE]with your website URL
- Replace
Step 4: Prepare Your Contact List
Create a Google Sheet with the following structure:
| First Name | Email | Emailed |
|------------|-------------------|------------|
| John | john@example.com | |
| Jane | jane@example.com | |
Important Notes:
- Leave the "Emailed" column empty initially
- The workflow will populate timestamps as emails are sent
- Only contacts with empty "Emailed" cells will receive emails
Step 5: Test and Activate
- Test the workflow with a few sample contacts
- Check that emails are being generated and sent correctly
- Verify that Google Sheets is being updated with timestamps
- Once satisfied, activate the workflow
π Google Sheets Structure
Your contact sheet should include these columns:
- First Name (required): Used for personalization
- Email (required): Recipient email address
- Emailed (required): Timestamp tracking (leave empty initially)
Optional columns you can add:
- Last Name
- Company
- Phone
- Notes
βοΈ Customization Options
Change Email Frequency
- Edit the "Daily Trigger (1 PM)" node
- Modify the schedule (hourly, daily, weekly)
- Set preferred time zones
Adjust Batch Size
- Edit the "Limit to 10 Contacts" node
- Change
maxItemsvalue (recommend staying under 50)
Modify Wait Times
- Edit the "Random Wait (2-5min)" node
- Adjust the random delay formula
- Current:
{{ Math.floor(Math.random() * 4) + 2 }}(2-5 minutes)
Update Email Content
- Edit the system message in "AI Email Generator" node
- Change the joke, signature, or entire email structure
- Add seasonal content or special promotions
π§ Troubleshooting
Common Issues:
-
Emails not sending
- Verify Gmail credentials are active
- Check email quota limits
- Ensure recipient emails are valid
-
Google Sheets not updating
- Confirm sheet ID is correct
- Check column names match exactly
- Verify Google Sheets credentials
-
AI not generating content
- Validate OpenAI API key
- Check API quota and billing
- Test with different model if needed
-
Rate limiting issues
- Increase wait times between emails
- Reduce batch size
- Check Gmail sending limits
π Best Practices
- Start Small: Begin with 5-10 contacts to test deliverability
- Monitor Metrics: Track open rates and responses
- Respect Privacy: Include unsubscribe options
- Stay Relevant: Update content regularly
- Follow Regulations: Comply with CAN-SPAM and GDPR
π€ Contributing to the Community
This template is designed to be:
- Easy to understand: Clear node names and documentation
- Production ready: Includes error handling and rate limiting
- Customizable: Template placeholders for personalization
- Well documented: Comprehensive setup instructions
Feel free to adapt this workflow for your specific healthcare niche!
π License
This workflow template is provided free to the n8n community under MIT License.
π Support
For questions or issues:
- Check the n8n community forum
- Review n8n's official documentation
- Test each node individually to isolate problems
Made with β€οΈ for the n8n community
n8n Workflow: Personalized Healthcare Joke Emails
This n8n workflow automates the process of sending personalized healthcare joke emails. It reads recipient data from a Google Sheet, generates a unique healthcare joke for each recipient using an AI Agent (powered by an OpenAI Chat Model), and then sends a personalized email via Gmail.
What it does
This workflow streamlines the following steps:
- Triggers on Schedule: The workflow starts on a predefined schedule (e.g., daily, weekly).
- Reads Recipient Data: It fetches recipient names and email addresses from a specified Google Sheet.
- Limits Processing (Optional): It can be configured to process only a limited number of rows from the Google Sheet in each run.
- Prepares Data: It extracts and structures the recipient's name and email for further processing.
- Generates Personalized Jokes: For each recipient, it uses an AI Agent (configured with an OpenAI Chat Model) to generate a personalized healthcare joke.
- Sends Personalized Emails: It composes and sends an email to each recipient via Gmail, including their name and the generated joke.
- Pauses Between Emails (Optional): It can be configured to introduce a delay between sending emails to avoid rate limits or appear more human-like.
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Instance: A running instance of n8n.
- Google Sheets Account: A Google Sheets spreadsheet containing your recipient data (at least columns for "Name" and "Email").
- Google Sheets Credentials: Authenticated Google Sheets credentials in n8n.
- OpenAI API Key: An OpenAI API key configured as a credential in n8n for the AI Agent.
- Gmail Account: A Gmail account to send the emails.
- Gmail Credentials: Authenticated Gmail credentials in n8n.
Setup/Usage
- Import the Workflow:
- Download the workflow JSON provided.
- In your n8n instance, go to "Workflows" and click "New".
- Click the "Import from JSON" button and paste the workflow JSON.
- Configure Credentials:
- Locate the "Google Sheets" node and configure your Google Sheets credentials. Ensure it has access to the spreadsheet you intend to use.
- Locate the "AI Agent" node and ensure your OpenAI API key is configured as a credential for the "OpenAI Chat Model" node within it.
- Locate the "Gmail" node and configure your Gmail credentials.
- Configure Google Sheets Node:
- Specify the "Spreadsheet ID" and "Sheet Name" from which to read your recipient data.
- Ensure your sheet has columns for
NameandEmail(or adjust the "Edit Fields" node to match your column names).
- Configure AI Agent Node:
- Review the prompt for the AI Agent to ensure it generates the type of healthcare jokes you desire. You might want to refine it for better results.
- Configure Gmail Node:
- Customize the "Subject" and "Body" of the email. Use expressions like
{{ $json.name }}for the recipient's name and{{ $json.joke }}for the generated joke.
- Customize the "Subject" and "Body" of the email. Use expressions like
- Adjust "Limit" Node (Optional):
- If you want to send emails to only a subset of your sheet per run, configure the "Limit" node (e.g., to
1or5). Remove or disable this node to process all rows.
- If you want to send emails to only a subset of your sheet per run, configure the "Limit" node (e.g., to
- Adjust "Wait" Node (Optional):
- The "Wait" node introduces a delay between sending emails. Adjust the duration as needed to comply with API rate limits or desired sending speed.
- Activate the Workflow:
- Enable the workflow by toggling the "Active" switch in the top right corner of the n8n editor.
- Set Schedule:
- Configure the "Schedule Trigger" node to define how often you want the workflow to run (e.g., once a day, once a week).
Once configured and activated, the workflow will automatically fetch recipient data, generate personalized jokes, and send emails according to your schedule.
Related Templates
Track meal nutrition from meal photos with LINE, Google Gemini and Google Sheets
AI Meal Nutrition Tracker with LINE and Google Sheets Who's it for This workflow is designed for health-conscious individuals, fitness enthusiasts, and anyone who wants to track their daily food intake without manual calorie counting. It is best suited for users who want a simple, AI-powered meal logging system that analyzes food photos one at a time and provides instant nutritional feedback via LINE. What it does This workflow processes a single meal photo sent via LINE, analyzes it using Google Gemini AI to identify foods and estimate nutritional content, and stores the data in Google Sheets for tracking. The workflow focuses on simplicity and encouragement: it receives a meal image, performs AI-based food recognition, estimates calories and macronutrients, calculates a health score, provides personalized advice, and replies with a detailed nutritional breakdown on LINE. How it works A single meal photo is sent to the LINE bot. The workflow is triggered via a LINE webhook. The image file is downloaded and sent to Google Gemini AI for food analysis. The AI identifies foods and estimates nutritional values (calories, protein, carbs, fat, fiber). A health score (1-10) is calculated with personalized improvement tips. The data is appended to Google Sheets for meal history tracking. The image is uploaded to Google Drive for reference. A formatted nutritional report with advice is sent back as a LINE reply. This workflow is intentionally designed to handle one image per execution. Requirements To use this workflow, you will need: A LINE Messaging API account A Google Gemini API key A Google account with access to Google Sheets and Google Drive A Google Sheets document with the following column names: Date Time Meal Type Food Items Calories Protein (g) Carbs (g) Fat (g) Fiber (g) Health Score Advice Image URL Important limitations This workflow does not support multiple images sent in a single message. Sending images in quick succession may trigger multiple executions and lead to unexpected results. Only the first image in an event payload is processed. Nutritional values are AI estimates based on visual analysis and typical serving sizes. Accuracy depends on image quality, lighting, and food visibility. This tool should not replace professional dietary advice. These limitations are intentional to keep the workflow simple and easy to understand. How to set up Create a LINE Messaging API channel and obtain a Channel Access Token. Generate a Google Gemini API key. Update the Config node with your LINE token, Google Sheets ID, Google Drive folder ID, and daily calorie goal. Configure credentials for LINE, Google Gemini, Google Sheets, and Google Drive. Register the n8n webhook URL in your LINE channel settings. Activate the workflow in n8n and test it with a single meal photo. How to customize Modify the AI prompt in the "Analyze Meal with AI" node to support different languages or dietary frameworks (keto, vegan, etc.). Adjust the daily calorie goal in the Config node to match individual needs. Add additional nutritional fields such as sodium, sugar, or vitamins. Replace Google Sheets with a fitness app API or database. Integrate with other services to send daily/weekly nutrition summaries. --- Note: This workflow was tested using real meal photos sent individually via the LINE Messaging API. Nutritional estimates are approximations and may vary from actual values. For accurate dietary tracking, consult a registered dietitian.
Track free Udemy courses automatically with RapidAPI and Google Sheets
This workflow fetches free Udemy courses hourly via the Udemy Coupons and Courses API on RapidAPI, filters them, and updates a Google Sheet. It sends alerts on errors for smooth monitoring. --- Node-by-Node Explanation Schedule Trigger: Runs the workflow every hour automatically. Fetch Udemy Coupons: Sends POST request to the Udemy Coupons and Courses API on RapidAPI to get featured courses. Check API Success: Verifies if the API response is successful; routes accordingly. Filter Free Courses: Selects only courses with sale_price of zero (free courses). Send Error Notification: Emails admin if API fetch fails for quick action. Sync Courses to Google Sheet: Appends or updates the filtered free courses into Google Sheets. --- Google Sheets Columns id name price sale_price image lectures views rating language category subcategory slug store sale_start --- Google Sheets Setup & Configuration Steps Create Google Sheet: Create or open a Google Sheet where you want to sync courses. Set Headers: Add columns headers matching the fields synced (id, name, price, etc.). Enable Google Sheets API: Go to Google Cloud Console, enable Google Sheets API for your project. Create Service Account: In Google Cloud Console, create a Service Account with editor access. Download Credentials: Download the JSON credentials file from the service account. Share Sheet: Share your Google Sheet with the Service Account email (found in JSON file). Configure n8n Google Sheets Node: Use the service account credentials, set operation to βAppend or Updateβ, provide Sheet URL and sheet name or gid. Match Columns: Map the course fields to your sheet columns and set id as the unique key for updates. --- How to Obtain RapidAPI Key & Setup API Request Sign up/Login: Visit RapidAPI Udemy Coupons and Courses API and create an account or log in. Subscribe to API: Subscribe to the Udemy Coupons and Courses API plan (free or paid). Get API Key: Navigate to your dashboard and copy your x-rapidapi-key. Configure HTTP Request: In your workflowβs HTTP Request node: Set method to POST. URL: https://udemy-coupons-and-courses.p.rapidapi.com/featured.php Add headers: x-rapidapi-host: udemy-coupons-and-courses.p.rapidapi.com x-rapidapi-key: your copied API key Set content type to multipart/form-data. Add body parameter: page=1 (or as needed). Test API: Run the node to ensure the API responds with data successfully before continuing workflow setup. --- Use Cases & Benefits Automates daily updates of free Udemy courses in your sheet using the Udemy Coupons and Courses API on RapidAPI. Saves manual effort in tracking coupons and deals. Enables quick error alerts to maintain data accuracy. Ideal for course aggregators, affiliate marketers, or learning platforms needing fresh course data. --- Who This Workflow Is For Content curators and edtech platforms tracking free courses. Affiliate marketers promoting Udemy deals. Anyone needing real-time access to updated free Udemy coupons.
Daily Magento 2 customer sync to Google Contacts & Sheets without duplicates
Automatically sync newly registered Magento 2 customers to Google Contacts and Google Sheets every 24 hours β with full duplication control and seamless automation. This workflow is a plug-and-play customer contact automation system designed for Magento 2 store owners, marketers, and CRM teams. It fetches customer records registered within the last 24 hours (from 00:00:00 to 23:59:59), checks against an existing Google Sheet to avoid reprocessing, and syncs only the new ones into Google Contacts. This ensures your contact list is always fresh and up to date β without clutter or duplicates. β What This Workflow Does: Automates Customer Syncing Every day, it fetches newly registered Magento 2 customers via API based on the exact date range (midnight to midnight). Deduplicates Using Google Sheets A master Google Sheet tracks already-synced emails. Before adding a customer, the workflow checks this list and skips if already present. Creates Google Contacts Automatically For each unique customer, it creates a new contact in your Google Contacts, saving fields like first name, last name, and email. Logs New Entries to Google Sheets In Google Sheets, it even records magento 2 customer group, createdat, websiteid & store_id After syncing, it adds each new email to the tracking sheet, building a cumulative record of synced contacts. Fully Scheduled & Automated Can be scheduled with the Cron node to run daily (e.g., 12:05 AM) with no manual intervention required. π§ Modules Used: HTTP Request (Magento 2 API) Date & Time (for filtering registrations) Google Sheets (for reading/writing synced emails) Google Contacts (for contact creation) Set, IF, and Merge nodes (for control logic) Cron (for scheduling the automation) πΌ Use Cases: Keep your email marketing tools synced with Magento 2 customer data. Build a CRM-friendly contact base in Google Contacts without duplicates. Share customer data with sales or support teams through synced Google Sheets. Reduce manual work and human error in data transfer processes. π Credentials Required Magento 2 Bearer Auth: Set up as a credential in n8n using your Magento 2 API access token. Google API π Category E-commerce β Magento 2 (Adobe Commerce) π¬ Need Help? π‘ Having trouble setting it up or want to customize this workflow further? Feel free to reach out β Iβm happy to help with setup, customization, or Magento 2 API integration issues. Contact: Author π€ Author Kanaka Kishore Kandregula Certified Magento 2 Developer https://gravatar.com/kmyprojects https://www.linkedin.com/in/kanakakishore