n8n

How to Automate OpenAI Movie Recommendations?

Give your users a smart chat that suggests the top three movies based on what they like and do not like. It helps media teams, apps, and demos that need quick and accurate content picks without manual research.

Data is loaded from a CSV in GitHub, turned into vectors with OpenAI embeddings, split into chunks, and stored in a Qdrant collection. When a chat message comes in, an AI agent with memory uses an OpenAI chat model and a tool call to embed both the user’s positive and anti preferences. It then calls the Qdrant recommendation API, pulls the closest matches, fetches movie details, merges results, and sends a clean list ordered by score. The workflow uses split and merge nodes to align points with metadata and aggregates a compact response for the agent to present.

You will need GitHub, OpenAI, and Qdrant accounts and credentials. Point the GitHub node to your CSV, set the OpenAI model for embeddings, and choose your Qdrant collection name. Expect faster content suggestions, less manual curation, and support for many chat requests at once. Ideal for media apps, streaming prototypes, and internal staff picks tools.

What are the key features?

  • Pulls a CSV from GitHub and extracts movie fields for processing
  • Generates embeddings with OpenAI and splits text into tokens for better indexing
  • Stores vectors in a Qdrant collection for fast similarity and recommendation queries
  • Chat entry point receives user messages and keeps context with a window memory buffer
  • AI agent uses an OpenAI chat model and a tool call to run the recommendation routine
  • Builds embeddings for both positive and anti preferences to refine search intent
  • Calls the Qdrant recommendation API, then retrieves and merges matching metadata
  • Uses split, merge, and aggregate nodes to align results and return a clean top three list

What are the benefits?

  • Reduce manual curation from hours to minutes by automating discovery and ranking
  • Automate up to 90% of recommendation work with consistent scoring
  • Improve match quality by up to 30% using vector search over text
  • Handle hundreds of chat requests at the same time without extra staff
  • Connect GitHub, OpenAI, and Qdrant in one flow for smooth data handling

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with GitHub, OpenAI and Qdrant. See the Tools Required section above for links to create accounts with these services.
  3. In the n8n credentials manager, create a GitHub credential. If unsure, double click the GitHub node and in the Credential to connect with dropdown click Create new credential, then follow the on screen steps. Use a personal access token with repo read access if needed.
  4. Create an OpenAI API Key in your OpenAI account, then in n8n create an OpenAI credential. If unsure, open any OpenAI node, choose Create new credential, and paste the API key.
  5. Set up Qdrant. Create a cluster and an API key in your Qdrant account. In n8n create a Qdrant credential with your endpoint URL and API key.
  6. Open the GitHub node and set Owner, Repository, and the CSV file path that holds your movie data. Test the node to confirm you can fetch the file.
  7. Check the Extract from File node and confirm it parses your CSV fields like title, release date, and description correctly.
  8. Open the Embeddings OpenAI node and keep the embedding model as configured or choose the model you prefer. Run a test to confirm the node returns vectors.
  9. Open the Qdrant Vector Store node and confirm the collection name. If the collection does not exist, allow the node to create it or create it in Qdrant first.
  10. Under the chat section, open the When chat message received node. Copy the webhook ID or URL from n8n if you plan to connect an external chat surface.
  11. Verify the AI Agent and OpenAI Chat Model nodes. Review the system message and keep gpt 4o mini or switch models if needed. Make sure the Call n8n Workflow Tool points to the embedded subworkflow.
  12. Run a test: click Execute on the manual trigger path to index data. Then send a chat message with a positive and a not like example. Confirm that the response returns three titles with clear scores and descriptions.
  13. If you get empty results, check that your CSV descriptions are long enough, the embeddings nodes use the same model family, and the Qdrant collection name matches across nodes.
  14. If you see authentication errors, recheck API keys for OpenAI and Qdrant and validate your GitHub token scopes. If you hit rate limits, add short waits between requests.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

GitHub

Sign up

Free tier: $0 / mo

OpenAI

Sign up

Pay-as-you-go: GPT-5 at $1.25 per 1M input tokens and $10 per 1M output tokens

Qdrant

Sign up

Free tier: $0, 1 GB free cluster (no credit card), accessible via REST/GRPC API

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.