Generate Summaries from Uploaded Files using OpenAI Assistants API

Generate Summaries from Uploaded Files using OpenAI Assistants API

πŸ“‘ Overview

Upload a document (PDF, DOCX, PPTX, TXT, CSV, JSON, or Markdown) and receive an AI-generated summary containing:

  • title – 5-10 words
  • summary – 1-2 sentences
  • bullets – 3-5 key points
  • tags – 3-6 short keywords

The workflow:

  1. Stores the file in OpenAI.
  2. Runs an Assistant with File Search and Code Interpreter enabled.
  3. Polls until the run finishes.
  4. Retrieves the summary JSON.

βœ… Prerequisites

OpenAI Assistant

OpenAI API credential setup in n8n

  • Go to Credentials β†’ New β†’ HTTP Header Auth
  • Header name: Authorization
  • Value: Bearer YOUR-OPENAI-API-KEY (replace YOUR-OPENAI-API-KEY with your OpenAI API secret key for your assistant, starts with sk-)
  • Name it: openAIApiHeader

πŸ”§ Setup

  1. Import the workflow JSON.

  2. When n8n prompts for a credential, choose openAIApiHeader for every HTTP Request node.

  3. Open Run Assistant β†’ Body and replace

    "assistant_id": "REPLACE_WITH_YOUR_ASSISTANT_ID"
    

    with your real ID (starts with asst_…). Save.


πŸš€ How it works

# Node Purpose
1 On form submission User uploads a file (File).
2 Upload File POST /v1/files (multipart) β†’ returns file_id.
3 Create Thread Creates a thread and attaches the uploaded file.
4 Run Assistant Starts the run using your assistant_id.
5 Poll Run Status β†’ Wait 2 s β†’ IF Loops until status = completed.
6 Fetch Summary GET /v1/threads/{thread_id}/messages β†’ summary JSON.

πŸ–ŒοΈ Customisation ideas

  • Edit the user prompt in Create Thread to change summary length, tone, or language.
  • Add an HTTP Response node after Fetch Summary to return plaintext to the uploader.
  • Replace the polling loop with OpenAI’s forthcoming wait-for-run endpoint when available.

No community nodes required. Works on any n8n Cloud plan (Starter, Pro, Enterprise) or self-hosted Community Edition.