Quick overview
This workflow runs daily to fetch competitors’ latest Instagram Reels via Apify, transcribe each Reel, generate structured content-strategy insights with an OpenAI-compatible model (DeepSeek), and save the results to Google Sheets while deduplicating and retrying failures using an n8n Data Table.
How it works
- Runs every day at 09:00 on a schedule.
- Loads the competitor list from Google Sheets and keeps only rows marked as active.
- For each competitor, uses Apify to fetch a limited set of their most recent Instagram Reels and normalizes them into a consistent Reel URL/key format.
- Checks an n8n Data Table registry to skip Reels that were already processed successfully and to allow retrying previously failed Reels up to three attempts.
- For each Reel to process, runs an Apify transcript actor to extract the Reel’s text transcript and validates whether the transcript is usable.
- Sends the Reel metadata, caption, and transcript to a DeepSeek (OpenAI-compatible) chat model to generate a structured JSON analysis, then validates required fields.
- Appends or updates the Reel’s analysis in a Google Sheets “Reel Intelligence” tab and records success or failure back to the registry (optionally compiling a Telegram digest).
Setup
- Create and connect Google Sheets OAuth credentials, then select your spreadsheet in the Google Sheets nodes and ensure you have “Competitors” and “Reel Intelligence” tabs with a “reel_key” column in the output tab.
- Add Apify credentials and ensure the
@apify/n8n-nodes-apify community node is installed, then verify the two Apify Actor IDs used for Reels discovery and transcript extraction.
- Add an OpenAI API credential configured with DeepSeek’s base URL (or another OpenAI-compatible provider) and keep the model set to
deepseek-flash.
- Populate the “Competitors” sheet with
instagram_username, an active flag, and optionally max_reels_per_check to control how many recent Reels are analyzed per run.
- (Optional) Enable Telegram by adding Telegram credentials, setting the chat ID, and updating the workflow condition to turn the digest on.
Requirements
- An Apify account — the two Actors used here are paid per event (a typical run of 10 short Reels costs roughly $0.05, or about $0.005 per Reel).
- A Google account with Google Sheets access
- An OpenAI-compatible API key for the analysis step (DeepSeek is used by default)
Customization
- Point the model node at any OpenAI-compatible endpoint. If you switch away from DeepSeek, also delete the extraBody option in the model node — it turns off DeepSeek's reasoning mode, which other providers may reject.
- Swap the Actor IDs in the two Apify nodes to run any other Apify Actor
- Enable the Telegram digest node (disabled by default) for a morning summary