This is an end-to-end workflow for creating a simple OpenAI Assistant. The whole process is done with n8n nodes and do not require any programming experience. The workflow is divided into three main steps: Step 1: Get a Google Drive File and Upload to OpenAI The workflow starts by retrieving a file from Google Drive using the "Get File" node. The example file used is a Music Festival document. The retrieved file is then uploaded to OpenAI using the "Upload File to OpenAI" node. Run this section only once. The file is stored persistently on the OpenAI side. Step 2: Set Up a New Assistant In this step, a new assistant is created using the "Create new Assistant" node. The assistant is given a name, description, and system prompt. The uploaded file from Step 1 is attached as a knowledge source for the assistant. Same as for Step 1, run this section only once. Step 3: Chat with the Assistant The "Chat Trigger" node initiates the conversation with the assistant. The "OpenAI Assistant" node handles the conversation, using the assistant created in Step 2.
Tags
Related workflows
See all AI Automation→Load and summarize Google Drive files with AI
This workflow includes advanced features like text summarization and tokenization, it's ideal for automating document processing tasks that require parsing and summarizing text data from Google Drive. To use this template, you need to be on n8n version 1.19.4 or later.
Ask questions about a PDF using AI
The workflow first populates a Pinecone index with vectors from a Bitcoin whitepaper. Then, it waits for a manual chat message. When received, the chat message is turned into a vector and compared to the vectors in Pinecone. The most similar vectors are retrieved and passed to OpenAI for generating a chat response. Note that to use this template, you need to be on n8n version 1.19.4 or later.
Sort Gmail leads, meetings, and trash with OpenAI classification
Quick Overview This workflow monitors Gmail for new messages, applies rule-based pre-classification, and uses OpenAI to categorize ambiguous emails as lead, review, or trash, then applies Gmail labels and schedules automatic deletion for trash threads. How it works Triggers every 5 minutes when a new Gmail message is received. Fetches the full email content from Gmail and extracts key fields like sender, subject, body, and thread ID. Applies deterministic rules to classify emails as team, meeting, website form, trash (bulk/OTP), or unknown. Adds Gmail labels for team and meeting emails, and skips processing for website form submissions. Sends only unknown emails to OpenAI for classification into LEAD, REVIEW, or TRASH and parses the returned JSON safely. Labels lead and review emails in Gmail, and for trash emails calculates a deletion timestamp, labels them as pending deletion, waits until that time, and then moves the entire Gmail thread to trash. Setup Connect a Gmail OAuth2 credential and ensure the trigger and Gmail actions point to the correct mailbox. Add an OpenAI API credential and select a model in the OpenAI classification step. Replace the placeholder Gmail label IDs (T