by Davide
Workflow Overview This workflow automates the creation and management of a custom OpenAI Assistant for a travel agency ("Travel with us"), leveraging Google Drive for document storage. How It Works 1. Create the OpenAI Assistant Node**: OpenAI Action: Creates a custom assistant named "Travel with us" Assistant using the gpt-4o-mini model. Instructions: Respond only using the provided document (e.g., agency-specific info). Stay friendly, brief, and focused on travel-related queries. Ignore irrelevant questions politely. Credentials: Requires OpenAI API key. 2. Upload Agency Document Google Drive Node**: Action: Downloads a Google Doc as a PDF. OpenAI2 Node**: Action: Uploads the PDF to OpenAI with purpose: "assistants". Output: Generates a file_id. 3. Update the Assistant with the Document OpenAI Node**: Action: Updates the assistant to include the uploaded file. 4. Chat Interaction Chat Trigger**: Activates when a message is received ("When chat message received"). OpenAI Assistant Node**: Action: Uses the updated assistant to respond to user queries. Memory: Window Buffer Memory retains chat context for coherent conversations. Set Up Steps Prepare the Document: Store your travel agency guide in Google Drive (e.g., as a Google Doc). Update the Google Drive node with your document’s ID. Configure Credentials: Google Drive: Connect via OAuth2 (googleDriveOAuth2Api). OpenAI: Add your API key to all OpenAI nodes. Customize the Assistant: Modify the instructions in the OpenAI node to reflect your agency’s needs. Ensure the document includes FAQs, policies, and travel info. Test the Workflow: Trigger manually ("Test workflow") to create the assistant and upload the file. Send a chat message (e.g., "What are your travel packages?") to test responses. Dependencies Google Drive Account**: To store and retrieve the agency document. OpenAI API Access**: For assistant creation and file uploads.
by jason
This workflow takes a text file as input. It pulls the information from the text file and used it as a parameter to execute a command for each text line. This workflow references a file /home/n8n/filelist.txt in the Read Binary File node which will need to be changed to work properly. You can also edit the Execute Command node to modify what happens for each of these lines of text. Note: This workflow requires the Execute Command node which is only available on the on-premise version of n8n.
by Lorena
This workflow is scheduled to run every week, when it gets all your Shopify orders, calculates their sales value, stores the data in Google Sheets, and sends a notification message to a Slack channel.
by Vlad Knyzhnyk
At the end, add the service you need, for example Telegram ++You can only see the result when you run workflow.++ *Based on these answers: Latest RSS Feed -> Rocket.Chat for get only new post Rss to Twitter with Image for get image*
by Paolo Ronco
Automated Invoice Archiving Automatically fetch, store, and extract key information from invoices received via email from your ISP or utility provider (electricity, gas, telecom, water, etc.).The workflow saves the invoices to Google Drive (or optionally to your personal FTP/SFTP server) and logs all invoice details into Google Sheets via AI-powered extraction. Read: Full setup Guide How it works Scheduled TriggerRuns the workflow at a selected interval (e.g., every hour). You can freely adjust the timing. Gmail – Fetch MessagesReads your Gmail inbox and retrieves only messages coming from your ISP/utility provider’s email address, filtering for messages with PDF attachments. Gmail – Download Invoice Fetches the full email content and downloads the attached invoice (PDF). Google Drive – Upload File Uploads the invoice into a specific Google Drive folder of your choice. (Optional) Upload to FTP/SFTP Sends a copy of the invoice to your personal server via secure FTP/SFTP. AI Extraction Pipeline Extract PDF Text – converts the PDF into text (OCR not required if text-based). AI Agent (OpenRouter) – understands the invoice content and extracts structured fields (invoice number, date, provider name, total amount, tax info, line items, etc.) Code Node – sanitizes and parses the JSON from the AI model. Google Sheets – Append Invoice DataAdds a new row to your Google Sheet with all parsed invoice fields. (Optional) CleanupAutomatically deletes:– the Gmail message– the temporary file in Google Drive(Useful when you only want your FTP or Sheets copy.) Parameters to configure | Parameter | Description | Recommended configuration | | --- | --- | --- | | Gmail Credentials | OAuth2 credentials needed to read and delete emails. | Create OAuth credentials on Google Cloud → enable Gmail API → paste Client ID & Secret into n8n → “Connect OAuth2”. | | Sender Email Filter | Email address your provider uses to send invoices. | Example: billing@your-isp.com, invoices@utility.it, ciao@octopusenergy.it | | Google Drive Folder | Destination folder for saving invoices. | Copy the folder ID from the Drive URL and paste it into folderId. | | Google Drive Credentials | OAuth2 connection for file uploads/deletions. | Same Google Cloud project → enable Drive API → OAuth connect in n8n. | | FTP/SFTP Server (optional) | Upload invoices to your private server. | Host / IP · Port · Username · Password or SSH Key · Destination path (e.g. /home/user/invoices/). | | AI Model (OpenRouter) | Large-language model used to parse invoice text. | Example: gpt-4.1, llama-3.1, or any preferred OpenRouter model. | | Google Sheets Document | Destination spreadsheet for structured data. | Create a Sheet → add columns (Vendor, Invoice Number, Date, Amount, Service Type, etc.) → insert documentId & sheet name. | | Sheets Credentials (Service Account) | Used for writing into Google Sheets. | Create Service Account → download JSON → add to n8n → share the Sheet with the Service Account email. | | Trigger Interval | How often the workflow checks for new invoices. | Every hour · every 30 minutes · daily at set ti | Node-by-node breakdown 1. Schedule Trigger Runs at the interval you choose (default: hourly).Start → triggers entire workflow. 2. Gmail – Get Many Messages Filters inbox items using: Sender email** (your ISP/utility address) Has attachment** Unread or recent messages** Downloads metadata + attachment references. 3. Filter – Contains Attachment Ensures only messages with binary attachments continue. 4. Gmail – Get Invoice Downloads: Full email JSON The invoice PDF (binary data) 5. Google Drive – Upload File Uploads invoice PDF with a dynamic filename: {{ $json.from.value[0].name }}-{{ $json.date }}.pdf Requires: Google Drive OAuth2 credentials Folder ID (destination directory) 6. HTTP Request – Download File Retrieves the raw PDF file from Google Drive for further processing. 7. (Optional) FTP/SFTP Upload Uploads the PDF to your server using: Host / IP Port (default 22) Username Password or private key Destination path Filename is sanitized to ensure Unix compatibility. 8. (Optional) Delete Temporary File Deletes the Google Drive file if you don’t want duplicates. 9. (Optional) Delete Gmail Message Removes the original email once processed (optional inbox cleanup). 10. Extract from File (PDF → Text) Reads the PDF and extracts raw text for AI processing. 11. OpenRouter Chat Model LLM backend for the AI agent. Provides: invoice parsing field extraction structured reasoning 12. AI Agent – Extract Invoice Fields The agent is instructed to return strict JSON only, containing keys such as: vendor_name invoice_number invoice_date total_amount tax_details line_items[] po_number po_date Works for most standard PDF invoices. 13. Code – Clean & Parse JSON Sanitizes the AI output: Removes markdown fences Extracts valid JSON Parses into a clean JS object If the AI output is malformed, debugging info is returned. 14. Google Sheets – Append Data Appends the extracted fields into a structured row.Example mappings: Vendor** → {{ $json.vendor_name }} Invoice Number** → {{ $json.invoice_number }} Date** → {{ $json.invoice_date }} Amount** → {{ $json.total_amount }} Service Type** → {{ $json.line_items[0].description }} 💡 Tips & best practices Add multiple sender filters if you have more than one utility provider. Ensure invoices are text-based PDFs for best extraction results. Use Google Drive as a reliable long-term archive, or keep only FTP if you prefer local storage. Create charts in Google Sheets for tracking: Monthly utility cost trends Year-over-year comparison Consumption spikes (if included in invoices) ⚠️ Important notes Utility invoices contain personal and financial data. Keep your FTP/SFTP server secure. Google APIs require proper OAuth2 or Service Account setup; misconfiguration may cause permission errors. This workflow is for personal automation, not a replacement for official fiscal archiving. AI extraction quality depends on invoice formatting and the model you choose.
by Puspak
🚀 Remote Job Automation Workflow Automatically fetch, clean, and broadcast the latest remote job listings — powered by RemoteOK, Airtable, and Telegram. 🔧 Key Features Seamless Data Fetching: Pulls the latest job listings from the RemoteOK API using an HTTP Request node. Smart Data Processing (via Code Node): Filters out irrelevant metadata Cleans and sanitizes job descriptions (e.g., HTML tags, special characters) Handles malformed or encoded text gracefully Extracts and formats salary ranges for clarity Airtable Integration (Upsert): Stores each job as a unique record using job ID Avoids duplication through conditional upserts using Airtable's Personal Access Token Telegram Bot Broadcasting: Automatically formats and sends job posts to a Telegram group or channel Keeps your community or team updated in real-time 📦 Tech Stack RemoteOK API – source of curated remote job listings Airtable – lightweight, accessible job database Telegram Bot API – for real-time job notifications n8n – workflow automation engine to tie everything together 🔁 Workflow Overview Fetch Jobs from RemoteOK API Clean & Normalize job descriptions and metadata Extract Salary ranges and standardize them Upsert to Airtable (avoiding duplicates) Format Post for visual clarity Send to Telegram via bot integration 🧠 Perfect For Remote job boards or aggregators Recruitment agencies/startups Developers building personal job feeds Communities or channels sharing curated remote opportunities Automating newsletters or job digests ✅ Benefits Near real-time updates Minimal maintenance Full control and extensibility with n8n
by Agent Circle
This n8n template demonstrates how to use AI to generate custom images from scratch - fully automated, prompt-driven, and ready to deploy at scale. Use cases are many: You can use it for marketing visuals, character art, digital posters, storyboards, or even daily image generation for your personal purposes. How It Works The flow is triggered by a chat message in N8N or via Telegram. The default image size is 1080 x 1920 pixels. To use a different size, update the values in the “Fields - Set Values” node before triggering the workflow. The input is parsed into a clean, structured prompt using a multi-step transformation process. Our AI Agent sends the final prompt to Google Gemini’s image model for generation (you can also integrate with OpenAI or other chat models). The raw image data created by the AI Agent will be run through a number of codes to make sure it's feasible for your preview if needed and downloading. Then, we use an HTTP node to fetch the result so you can preview the image. You can send it back to the chat message in N8N or Telegram, or save it locally to your disk. How To Use Download the workflow package. Import the package into your N8N interface. Set up the credentials in the following nodes for tool access and usability: "Telegram Trigger"; "AI Agent - Create Image From Prompt"; "Telegram Response" or "Save Image To Disk" (based on your wish). Activate the "Telegram Response" OR "Save Image To Disk" node to specify where you want to save your image later. Open the chat interface (via N8N or Telegram). Type your image prompt or detailed descriptions and send. Wait for the process to run and finish in a few seconds. Check the result in your desired saving location. Requirements Google Gemini account with image generation access. Telegram bot access and chat setup (optional). Connection to local storage (optional). How To Customize We’re setting the default image size to 1080 x 1920 pixels and the default image model to "flux". You can customize both of these values in the “Fields – Set Values” node. Supported image model options include: "flux", "kontext", "turbo", and "gptimage". In the “AI Agent – Create Image From Prompt” node, you can also change the AI chat model. By default, it uses Google Gemini, but you can easily replace it with OpenAI ChatGPT, Microsoft AI Copilot, or any other compatible provider. Need Help? Join our community on different platforms for support, inspiration and tips from others. Website: https://www.agentcircle.ai/ Etsy: https://www.etsy.com/shop/AgentCircle Gumroad: http://agentcircle.gumroad.com/ Discord Global: https://discord.gg/d8SkCzKwnP FB Page Global: https://www.facebook.com/agentcircle/ FB Group Global: https://www.facebook.com/groups/aiagentcircle/ X: https://x.com/agent_circle YouTube: https://www.youtube.com/@agentcircle LinkedIn: https://www.linkedin.com/company/agentcircle
by OsherD
This workflow collects tweets (100 but adjustable) and add them to AirTable. Starting the 2nd execution, the workflow will add only the new tweets (based on Tweet ID), so there won't be any tweet duplications
by Deb Mukherjee
Who’s it for Creators who want to create faceless videos automatically, while keeping human oversight and quality control. How it works / What it does AI generates 8 story beats, which can be reviewed, edited, or re-ordered by a human. Each beat is converted into narration (audio), imagery, and short clips. Final video is assembled and stored in Google Drive, ready for review and regeneration if needed. Chat commands trigger each step, giving full human control. How to set up Set up Google Drive and Google Sheets Get necessary credentials Requirements Google Drive account for storing videos. Access to AI tools for text, voice, and visuals. Basic familiarity with triggering chat commands or automation steps. How to customize the workflow Adjust the number of story beats or narration style Use models of your choice Use for any theme by updating Story prompt
by Jonathan
This workflow uses a Mautic Trigger to check for new contacts. It then validates the contacts' email using OneSimpleAPI. If there are any a message will be sent to Slack. To configure this workflow you will need to set the credentials for the Hubspot, OneSimpleAPI and Slack Nodes. You will also need to select the Slack channel to use for sending the message.
by Jonathan
This workflow will collect the RSS feed data from the previous day and post them to a Slack channel. To use this workflow you will need to add your credentials to the Slack node and select the channel for notifications. You will also need to input the URL for the RSS feed.
by Jonathan
This workflow takes Dialpad call information after a call is disconnected and pushes it into Syncro as a ticket timer update, matching the start time and end time provided by Dialpad and a note that containing the contact or customer name and number. > This workflow is part of an MSP collection, The original can be found here: https://github.com/bionemesis/n8nsyncro