by Oneclick AI Squad
This n8n workflow automatically creates and sends regular performance summaries to parents using data from a Learning Management System (LMS). It pulls student grades and attendance, formats them into easy-to-read reports, and emails them without any manual work. Good to Know Fully Automated**: Generates reports and sends emails using LMS data. Regular Updates**: Sends summaries on a set schedule (e.g., every Monday at 9 AM). Clear Reports**: Includes student grades, attendance, and progress notes. Error Alerts**: Notifies admins via email if something goes wrong. Scalable**: Works for multiple students across different classes. How It Works Report Generation Flow Weekly Trigger: Starts the process every Monday at 9 AM. Fetch LMS Data: Pulls grades, attendance, and progress from the LMS. Process Data: Organizes the data into a clear report format. Generate HTML Report: Creates a readable report with student details. Send Email to Parents: Emails the report to parents’ addresses. Log Report Delivery: Records the sent reports in a log. Example Sheet Columns Student ID**: Unique identifier for each student. Name**: Full name of the student. Grade**: Current academic grade or score. Attendance**: Percentage of classes attended. Progress Notes**: Brief comments on performance. Report Date**: Date the report was generated. How to Use Import Workflow: Add the workflow to n8n using the “Import Workflow” option. Set Up LMS Access: Configure n8n with LMS credentials to fetch data. Configure Email: Add parent email addresses and set up an email service (e.g., Gmail). Activate Workflow: Save and turn on the workflow in n8n. Check Logs: Verify reports are sent and logs are updated. Requirements n8n Instance**: Self-hosted or cloud-based n8n setup. LMS Access**: API or credentials to connect to the LMS. Email Service**: SMTP setup (e.g., Gmail) for sending reports. Admin Oversight**: Someone to monitor and fix any errors. Customizing This Workflow Change Schedule**: Adjust the trigger to send reports weekly or monthly. Add More Data**: Include extra LMS fields like behavior notes. Custom Email**: Change the email template for a personalized touch.
by n8n Team
This workflow template shows how to load JSON data into a workflow and push that data into an App or convert it into a Spreadsheet file. Specifically, this workflow shows how to make a generic API request that returns JSON. It then shows how to load that into a Google Sheets spreadsheet, or convert it to .CSV file format. However, you can use the general pattern to load data into any app or convert to any spreadsheet file format (such as .xlsx).
by Baptiste Fort
Telegram Voice Message → Automatic Email Imagine: What if you could turn a simple Telegram voice message into a professional email—without typing, copying, pasting, or even opening Gmail? This workflow does it all for you: just record a voice note, and it will transcribe, format, and write a clean HTML email, then send it to the right person—all by itself. Prerequisites Create a Telegram bot** (via BotFather) and get the token. Have an OpenAI account** (API key for Whisper and GPT-4). Set up a Gmail account with OAuth2.** Import the JSON template** into your automation platform. 🧩 Detailed Flow Architecture 1. Telegram Trigger Node: Telegram Trigger This node listens to all Message events received by the specified bot (e.g., “BOT OFFICIEL BAPTISTE”). Whenever a user sends a voice message, the trigger fires automatically. > ⚠️ Only one Telegram trigger per bot is possible (API limitation). Key parameter: Trigger On: Message 2. Wait Node: Wait Used to buffer or smooth out calls to avoid collisions if you receive several voice messages in a row. 3. Retrieve the Audio File Node: Get a file Type:** Telegram (resource: file) Parameter:** fileId = {{$json"message"["file_id"]}} This node fetches the voice file from Telegram received in step 1 4. Automatic Transcription (Whisper) Node: Transcribe a recording Resource:** audio Operation:** transcribe API Key:** Your OpenAI account The audio file is sent to OpenAI Whisper: the output is clean, accurate text ready to be processed. 5. Optional Wait (Wait1) Node: Wait1 Same purpose as step 2: useful if you want to buffer or add a delay to absorb processing time. 6. Structured Email Generation (GPT-4 + Output Parser) Node: AI Agent This is the core of the flow: The transcribed text is sent to GPT-4 (or GPT-4.1-mini here, via OpenAI Chat Model) Prompt used:** You are an assistant specialized in writing professional emails. Based on the text below, you must: {{ $json.text }} Detect if there is a recipient's email address in the text (or something similar like "send to fort.baptiste.pro") If it’s not a complete address, complete it by assuming it ends with @gmail.com. Understand the user's intent (resignation, refusal, application, excuse, request, etc.) Generate a relevant and concise email subject, faithful to the content Write a professional message, structured in HTML: With a polite tone, adapted to the situation Formatted with HTML tags (`, `, etc.) No spelling mistakes in French My first name is jeremy and if the text says he is not happy, specify the wish to resign ⚠️ You must always return your answer in the following strict JSON format, with no extra text: { "email": "adresse@gmail.com", "subject": "Objet de l’email", "body": "Contenu HTML de l’email" } Everything is strictly validated and formatted with the Structured Output Parser node. 7. Automatic Email Sending (Gmail) Node: Send a message To:** {{$json.output.email}} Subject:** {{$json.output.subject}} HTML Body:** {{$json.output.body}} This node takes the JSON structure returned by the AI and sends the email via Gmail, to the right recipient, with the correct subject and full HTML formatting.
by jason
Allow your friends to get updates when you do not meet your workout goals so that they can help you get to where you need to be! Monitors your Strava account and sends an email to three accountability partners each day if you have not had enough activity so that they can reach out to you with some encouragement. Make sure that you configure the Accountability Settings to meet your needs along with the Strava and Send Email credentials.
by jason
Using Typeform to push task requests to an n8n webhook that then categorizes the request and assigns it in ClickUp accordingly. In order to get his workflow working for yourself, you will need: ClickUp account Typeform account Credentials for these services ClickUp configured with appropriate lists Typeform setup with options that correspond with ClickUp lists. You may modify this workflow to meet your specific needs and configuration. This is a very simple version of this workflow and you can make it as complicated as you wish to meet your requirements.
by Keith Rumjahn
Use Case Generate keywords for your Amazon product. You want to find more keywords for advertising your product on Amazon. What this Workflow Does The workflow connects to Amazon's completion API to retrieve keywords for your advertising campaigns Use Airtable to send the workflow your keywords. Download airtable here. It sends the keyword to Amazon and returns keywords related to your keyword. It stores the results back into Airtable. How to Adjust it to Your Needs You can modify the Amazon Completion API URL to get more data back from Amazon. Made by Rumjahn
by The O Suite
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. How It works: When the user clicks "Execute Workflow" they are prompted for a URL, from there the Puppeteer node extracts JavaScript links from the provided URL. The links are then filtered down to ones that are relevant to the original URL that was quieried. From there an AI Agent searches the provided JavaScript links for API Keys, email addresses, and PII leaks. Finally a report is generated and sent via gmail to a desired destination. The report contains discovered links as well as any sensitive information that may have been found. Why It's Useful: This is a great tool for Cybersecurity testing. For Developers, make sure your scripts are clean and you didn't leave anything behind. For Ethical Hackers, this is a great tool for Bug Bounties by discovering sensitive information hidden in JavaScript.
by Oneclick AI Squad
Acts as a virtual receptionist for the restaurant, handling incoming calls via VAPI without human intervention. It collects user details (name, booking time, number of people) for table bookings, checks availability in a PostgreSQL database using n8n, books the table if available, and sends confirmation. It also provides restaurant details to users, mimicking a human receptionist. Key Insights VAPI must be configured to accurately capture user input for bookings and inquiries. PostgreSQL database requires a table to manage restaurant bookings and availability. Workflow Process Initiate the workflow with a VAPI call to collect user details (name, time, number of people). Use n8n to query the PostgreSQL database for table availability. If a table is available, book it using n8n and update the PostgreSQL database. Send a booking confirmation and hotel service details back to VAPI via n8n. Store and update restaurant table data in the PostgreSQL database using n8n. Usage Guide Import the workflow into n8n and configure VAPI and PostgreSQL credentials. Test with a sample VAPI call to ensure proper data collection and booking confirmation. Prerequisites VAPI API credentials for call handling PostgreSQL database with booking and availability tables Customization Options Modify the VAPI input fields to capture additional user details or adjust the PostgreSQL query for specific availability criteria.
by Abdulaziz
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. 🧠 How It Works This workflow automates the process of screening resumes using AI, logging results to Google Sheets, and sending follow-up emails via Gmail. User uploads their resume via a form (PDF only). Resume content is extracted and sent to OpenAI for evaluation. AI scores the resume based on: Role-specific must-have qualifications Soft skills / strategic fit questions Based on the score threshold, the candidate is classified as: ✅ Accepted → Saved to Accepted sheet + Gmail invite ❌ Rejected → Logged to Rejected sheet + Gmail rejection message Output is stored in Google Sheets with detailed justification. ⚙️ Set Up Steps 🔑 Connect your OpenAI and Google Sheets credentials. Replace the placeholder tags in the AI prompt: COMPANY_NAME ROLE_NAME ROLE_DESCRIPTION CRITERIA_1 to CRITERIA_5 Q1 to Q5 THRESHOLD (score to pass) Customize Gmail messages (optional). ✅ Make sure your sheet has two tabs: Accepted and Rejected. 📌 Notes Sticky Notes included in the flow explain: What each node does Where to replace variables Tips for improving match scoring
by Baptiste Fort
What if your quote requests managed themselves? Every quote request is a potential deal — but only if it's handled quickly, properly, and without things falling through the cracks. What if instead of copy-pasting emails and pinging teammates manually, your entire process just... ran itself? This automation makes it happen: it captures form submissions, notifies your sales team on Slack, stores leads in Airtable, and sends an email confirmation to the client — all in one seamless n8n flow. ⚙️ Tools used Tally** – to collect client quote requests n8n** – to automate everything, no code needed Airtable** – to store leads and track status Slack** – to instantly notify your sales team Gmail** – to confirm the request with the client 🧩 Flow structure overview Trigger from a Tally form using a webhook Extract and format the data Create a new record in Airtable Send a message to Slack Wait 5 minutes Send an email confirmation via Gmail 📥 Step 1 – Webhook (Tally) This node listens for incoming quote requests from the Tally form. HTTP Method:** POST Path:** /Request a Quote Authentication:** None Respond:** Immediately The data arrives as an array inside body.data.fields. Each field has a label and a value that we’ll need to map manually. 🧹 Step 2 – Edit Fields (Set) This step extracts usable values from the raw form data. Example mapping: Name = {{ $json.body.data.fields[0].label }} Email Address = {{ $json.body.data.fields[1].value }} Type of Service Needed = {{ $json.body.data.fields[2].value }} Estimated Budget = {{ $json.body.data.fields[3].value }} Preferred Timeline = {{ $json.body.data.fields[4].value }} Additional Details or Questions = {{ $json.body.data.fields[5].value }} 📊 Step 3 – Create record in Airtable We send the cleaned fields into a database (CRM) in Airtable. Operation:** Create Base & Table:** Request a Quote - Airtable Base Mapping:** Manual field-to-column matching Each quote submission becomes a new record with all project details. 📣 Step 4 – Send a message to Slack This node notifies your sales team immediately in a Slack channel. Message format: :new: New quote request received! 👤 Name: {{ $json.fields.Name }} 📧 Email: {{ $json.fields.Email }} 💼 Service: {{ $json.fields["Type of Service"] }} 💰 Budget: {{ $json.fields["Estimated Budget (€)"] }} ⏱️ Timeline: {{ $json.fields["Preferred Timeline"] }} 📝 Notes: {{ $json.fields["Additional Details"] }} ⏳ Step 5 – Wait 5 minutes This node simply delays the email by 5 minutes. Why? To give a human salesperson time to reach out manually before the automated confirmation goes out. It adds a personal buffer. 📧 Step 6 – Send confirmation via Gmail To:** {{ \$('Edit Fields').item.json\["Email Address"] }} Subject:** Thanks for your quote request 🙌 Email Type:** HTML Message body: Hi {{ $('Edit Fields').item.json.Name }}, Thanks a lot for your quote request — we’ve received your information! Our team will get back to you within the next 24 hours to discuss your project. Talk soon, — The WebExperts Team ✅ Final result With this automation in place: The client feels acknowledged and taken seriously Your team gets notified in real time You store everything in a clean, structured database All this without writing a single line of backend code. It’s fast, scalable, and business-ready.
by David Olusola
📌 Workflow Description This workflow allows users to generate AI images directly from Telegram while automatically logging each request to Google Sheets for tracking. When a user sends a prompt to your Telegram bot, the workflow receives the prompt, generates an image using OpenAI, saves the prompt and generated image link to Google Sheets, and then sends the image back to the user in Telegram. ⚙️ How to Set It Up Connect your Telegram credentials by adding your bot token in both the Telegram Trigger and Telegram Send Message nodes. Ensure your bot is added to the intended chat. Connect your OpenAI credentials by inserting your API key in the OpenAI node and configuring it for image generation. Connect your Google Sheets account by authorising the Google Sheets node and selecting the target spreadsheet and worksheet where you want to save prompts and image links. Finally, activate the workflow and test by sending a prompt to your Telegram bot to confirm that the image is generated, saved to Google Sheets, and sent back to Telegram seamlessly. That’s it – your AI Image Generator with Google Sheets logging is ready to use. ⸻ ✅ That’s it – your AI Image Generator with Google Sheets logging is ready for use.
by n8n Team
Who this template is for This template is for developers, content creators, or application builders who want to integrate an AI-powered text-to-image generation service into their applications or systems via an API endpoint. Use case Creating a secure API endpoint that converts text prompts into AI-generated images, with built-in content moderation to prevent inappropriate content generation. This can be used for creative applications, content creation tools, prototyping interfaces, or any system that needs on-demand image generation. How this workflow works Receives text prompt through a webhook endpoint Filters the prompt for inappropriate content using AI moderation Submits valid prompts to the Fal.ai Flux image generation service Polls for completion status and retrieves the generated image when ready Returns the image results in a structured JSON format to the client Set up steps Create a Fal.ai account and obtain API credentials Configure the HTTP Header Auth credentials with your Fal.ai API key Set up an OpenAI API key for the content moderation component Deploy the workflow and note the webhook URL for your API endpoint Test the endpoint by sending a POST request with a JSON body containing a "prompt" field