Marketplace
3,557 ready-made workflow files you can download, plus 10,661 source-linked n8n references.
Roll overdue Notion tasks forward and flag stale ones on a schedule
Quick overview This workflow runs every morning, scans a Notion tasks database for overdue, unfinished items, rolls their due dates forward, increments a roll counter, and marks tasks as stale once they have been rolled too many times. How it works Runs every morning at 7:00 based on a schedule. Retrieves all pages from the selected Notion database. Filters for tasks with a due date before today and a status that is not in the configured “done” list. Sets each overdue task’s due date to today (or the next business day), increments its Rolled counter, and marks it Stale when the roll count exceeds the threshold. Updates the matching Notion pages with the new due date, Rolled number, and Stale checkbox values. Setup Add your Notion API credentials and share the target Notion database with the Notion integration. Select your tasks database in the Notion “Get Open Tasks” step. Ensure your database has matching properties (Due date, Status select/status, Rolled number, and Stale checkbox) and update the property names, DONE_VALUES, STALE_THRESHOLD, and ROLL_TO settings in the code to match your schema. Requirements A Notion internal integration credential, with the tasks database shared
Deduplicate and archive Notion database rows daily with an audit log
Quick overview This workflow runs daily and deduplicates a Notion database by grouping pages on a chosen property, keeping one “best” page per group (newest by default) and archiving the rest, then appending an audit recap line to a Notion log page. How it works Runs every day at 2am on a schedule. Fetches all pages from the selected Notion database, including full property data. Groups pages by a configurable Notion property (for example, “Name”) and identifies groups with more than one page. Chooses one page to keep per duplicate group based on the configured rule (newest, oldest, or mostFilled) and prepares the other pages for archiving. Archives each duplicate page in Notion by updating the page to archived: true. Appends a one-line recap (scanned count, duplicates found, and how many were archived) to a specified Notion page as an audit log. Setup Add your Notion API credentials and share both the target database and the audit log page with the Notion integration. Select the Notion database to deduplicate in the database ID field of the database query step. Update MATCH_PROPERTY and KEEP_RULE in the code step to match your database and your preferred keeper strategy. Paste the
Normalize and backfill Notion database properties with rules and logging
Quick overview This workflow runs daily to normalize and backfill properties in a Notion database, standardizing Status values, deriving a Key slug and Created week stamp, updating only changed pages, and appending a run recap to a Notion log page. How it works Runs every day at 3am on a schedule. Fetches all pages (rows) from a selected Notion database with full property data. Applies normalization rules to backfill missing Status values, canonicalize known Status variants, and optionally derive a Key slug from the title and a Created week value from the page creation time. Updates only the Notion pages where one or more of these derived values differs, and stamps a Last normalized date on each updated page. Appends a one-line recap of the run (scanned vs. updated counts and what changed) to a specified Notion page or block. Setup Add a Notion API credential and share both the target database and the log page with your Notion integration. Select the Notion database to process in the database ID field used to fetch all database pages. Update the rules in the code configuration (property names, DEFAULT_STATUS, and the CANONICAL_STATUS mapping) to match your database. Ensure the targ
Analyse tender PDFs with LlamaParse, Gemini, Supabase and WhatsApp chat
Quick overview This workflow lets you upload a tender/RFT PDF via an n8n form, extracts key fields into Google Sheets using LlamaParse, and makes the document chat-searchable by embedding section chunks with Google Gemini and storing them in Supabase for WhatsApp-based Q&A with Anthropic/DeepSeek. How it works Receives a tender PDF when a user submits the n8n form. Generates a normalized document ID from the uploaded filename and sends the PDF to LlamaParse to parse the full text, split it into predefined tender sections, and extract structured tender metadata. Normalizes the extracted fields, calculates days-until-deadline and a bid score/recommendation, and appends or updates a row in a Google Sheets tender tracker. Combines the parsed full text with the section/page mapping, then carves each section into paragraph-aligned text chunks with page references. Creates an embedding for each chunk using the Google Gemini Embeddings API and inserts the chunk text and vectors into a Supabase table for retrieval. Triggers on an incoming WhatsApp message, embeds the user’s question with Google Gemini, runs a Supabase RPC vector search scoped to a single doc_id, and builds a context payload
Generate Google Maps leads with Apify, Hunter, and HubSpot CRM
Quick overview This workflow collects a location, search term, and industry from an n8n form, scrapes matching businesses from Google Maps via Apify, deduplicates and upserts companies into HubSpot, then uses Hunter to find contact emails for each domain and upserts the contacts into HubSpot. How it works Starts when a user submits the n8n form with a location, what to scrape, item limit, and a HubSpot industry selection. Maps the chosen industry label to the exact industry code HubSpot expects and runs the Apify Google Maps Scraper actor with the form inputs. Checks the Apify run status and, if successful, loads the actor’s dataset items. Extracts the key business fields (name, category, rating, address, phone, website/domain, and industry) and removes duplicate companies using a domain-based key. Searches HubSpot for an existing company by domain and updates it if found or creates a new company if not. For companies with a domain, uses Hunter Domain Search to find personal email contacts, deduplicates them by email, and upserts the contacts into HubSpot associated with the company. Setup Add an Apify API token and ensure you have access to the Apify actor “Google Maps Scraper (co
Log multi-platform ad spend from Meta, Google, TikTok, and Taboola to Airtable
Quick overview This workflow runs hourly to collect campaign spend, clicks, and impressions from Meta (Facebook), Google Ads, TikTok Ads, and Taboola, then upserts the metrics into Airtable and creates a time-stamped snapshot record for Meta campaigns. Get Implementation help via https://nocode.expert How it works Runs every 60 minutes on a schedule. Builds today’s date values (including a sheet-friendly format and PST-adjusted dates) for use in API queries and Airtable filters. Pulls ACTIVE and PAUSED campaign lists from up to four Meta ad accounts and searches Airtable for existing rows matching today’s date. Matches Meta campaigns to Airtable records by Campaign ID, fetches Meta Insights for each campaign for today, and keeps only campaigns with non-zero spend. Upserts the Meta campaign metrics into the Airtable “Daily Ad Spend” table and creates a separate time-slot snapshot row in a second Airtable table. Retrieves today’s performance data from Taboola (via OAuth token), Google Ads (GAQL query), and TikTok Ads (integrated report), then normalizes the results into a single campaign list. Filters out non-spending campaigns and upserts the remaining Google, Taboola, and TikTok ca
Send AI study reports and spaced-repetition reminders via OpenAI, Sheets and Gmail
Quick overview This dual-trigger workflow logs daily study sessions from an n8n Form, analyzes them with OpenAI, stores results in Google Sheets, and emails a full coaching report via Gmail; it also runs daily at 7 AM to email each student revision reminders based on spaced-repetition dates. How it works Receives a study-session submission through an n8n Form. Validates the submitted fields and calculates spaced-repetition revision dates (Day+1, +3, +7, +14). Sends the session details to OpenAI Chat Completions and parses the returned JSON coaching analysis (score, feedback, plan, and quiz). Reads the existing Google Sheets Daily Log to find any prior sessions for the same student that are due for revision on the submitted date. Builds an HTML email combining the AI report, today’s revision-due items, and the new revision schedule, then appends the new session to Google Sheets. Sends the full daily study report to the student via Gmail. Runs every day at 7 AM, reads all Google Sheets logs, finds revision items due today per student, and emails each student a morning revision reminder via Gmail. Setup Add an OpenAI API credential and ensure the Chat Completions request is authorized
Edit and post TikTok videos with Gemini Omni Flash and OpenAI
Quick overview This workflow receives a webhook request with a video URL and edit prompt, sends the job to Fal.run’s Gemini Omni Flash for video editing, generates a title with OpenAI, downloads the rendered file, and uploads it to TikTok via the Upload-Post API. How it works Receives a webhook request containing a video_url and an editing prompt. Submits the video edit job to Fal.run’s Gemini Omni Flash queue API. Polls Fal.run every 60 seconds to check the job status until it returns COMPLETED. Fetches the completed job details from Fal.run to obtain the final rendered video URL. Uses OpenAI (GPT-5) to generate an SEO-friendly title from the original prompt. Downloads the rendered video file from the provided URL and uploads it to TikTok using the Upload-Post.com upload API. Returns the Upload-Post.com API response to the original webhook caller. Setup Create and add Fal.run API header-auth credentials, and ensure the Gemini Omni Flash endpoints are accessible from your n8n instance. Add an OpenAI API credential for the title generation step and select the model you want to use. Create an Upload-Post.com account, add its API header-auth credentials, and replace YOUR_USERNAME with
Draft bookkeeping entries from Trello cards with OpenRouter and Xero
Quick overview This workflow triggers from Trello card activity to draft bookkeeping entries by extracting transaction details with OpenRouter and enriching them with live Xero chart-of-accounts, tax rates, contacts, and bill context, then posts a review-ready summary and embedded JSON back to the Trello card. How it works Triggers from Trello when a card is moved to the Ready list or when the Retry AI label is added. Fetches the current Xero chart of accounts, bank accounts, and tax rates to use as live reference data. Loads the Trello card details, recent comments, and attachment metadata and stops with an error note if the text lacks enough detail for extraction. Sends the card title/description/comments to OpenRouter to extract a structured bookkeeping draft and normalizes key fields like dates, line items, and payment reference. Uses Xero Contacts (and, for bill payments, Xero Invoices) to resolve the vendor and refine PAY_BILL vs SPEND_MONEY before optionally asking OpenRouter to classify expense line items to Xero account codes. Validates and maps any suggested account codes against the live Xero chart of accounts, embeds Xero configuration needed for posting later, and reco
Test IVR call quality using CALL-E API from a phone task list
Quick overview This workflow manually triggers two sequential IVR quality-sample calls via the CALL-E API, validating transcripts and metadata post-call. Note: Default placeholders must be replaced with authorized E.164 test numbers before execution. How it works Runs when you start the workflow manually. Loads the CALL-E API configuration (base URL, polling interval, timeout) and stops with an error if the API key is missing. Creates a small list of IVR QA call tasks (phone, task instructions, locale/region, and metadata) to be processed. Processes the call list one item at a time, building the CALL-E /v1/calls request with a JSON result schema, metadata, and an idempotency key. Calls the CALL-E API to create the call and repeatedly polls the call status until it reaches a terminal state (completed/failed/canceled) or times out. Extracts the call outcome, structured result, transcript turns, and failure signals, then formats a demo-friendly per-call view and an overall execution summary. Setup Add your CALL-E API key by replacing replace_with_calle_api_key in the CALL-E configuration step. Replace the sample phone numbers with numbers you own or are authorized to call, and adjust
Send staged invoice payment reminders with Microsoft SQL and Gmail
Quick Overview This workflow runs daily at 9 AM to pull unpaid invoices from Microsoft SQL, send staged payment reminder emails via Gmail based on due date timing, update invoice status and an audit log in the database, and email an HTML summary report to the finance team. How it works Runs every day at 9 AM on a schedule. Queries a Microsoft SQL database for invoices with PaymentStatus = 'Unpaid' and checks whether any results are returned. For each unpaid invoice, calculates the number of days until the due date and routes it to the matching reminder window (7 days before, 3 days before, due today, 1 day overdue, 7 days overdue, or 15 days overdue). For invoices in each window, checks the current ReminderStage, composes the appropriate email content, and sends the reminder to the customer via Gmail. After each email is sent, updates the invoice record with the new ReminderStage and LastReminderDate and inserts a REMINDER_SENT entry into a Microsoft SQL AuditLog table. Merges all reminder results, aggregates them into a single list, generates an HTML summary report, and emails it to the finance address via Gmail. Setup Create or confirm a Microsoft SQL database schema with an Invo
Qualify and route free signups with Twain, Claude, Slack, HubSpot and Gmail
Quick overview This workflow receives free-signup events via webhook, enriches the contact with Twain research (and optional Findymail LinkedIn lookup), uses Anthropic Claude to score ICP fit, then routes outcomes to Slack and, for high-fit leads, to HubSpot and Gmail. How it works Receives a POST webhook request for a new signup and authenticates it via a required header. Normalizes the signup fields (uid, email, name, LinkedIn URL) and deduplicates records across runs to avoid reprocessing the same user. If the signup has no LinkedIn URL but has an email, optionally calls Findymail reverse-email lookup to resolve a LinkedIn profile URL and merges it back into the contact. If the lead has neither a work email nor a LinkedIn URL, posts a “skipped” message to Slack and stops. Sends the contact to the Twain Generate/Research API to create research and add the contact to the specified Twain campaign, and posts a Slack alert if the research request fails. If Twain flags a hard disqualification (persona mismatch or incomplete profile), posts a disqualification message to Slack; otherwise, Anthropic Claude evaluates the research against the defined ICP tiers and returns a structured fit
Notify Slack about new marketplace templates with the n8n Templates API
Quick overview This workflow runs every two hours to check the n8n public Templates API for the latest workflows in a chosen category, tracks which template IDs have already been seen using workflow static data, and posts a Slack digest when new templates appear. How it works Runs on a schedule every 2 hours. Loads configuration values such as the template category slug, the Slack channel, how many templates to check, and whether to report when none are new. Calls the n8n Templates search API to fetch the most recent templates for the configured category. Extracts key metadata (ID, title, description snippet, creator, date, and URL) from the API response. Compares the fetched template IDs against previously seen IDs stored in workflow static data and updates the cache with the latest IDs. If new templates are found, formats a Slack digest and posts it to the configured Slack channel. If no new templates are found and reporting is enabled, posts a “no new templates” all-clear message to Slack. Setup Add Slack credentials in n8n with permission to post messages to your target channel. Update the Configuration values for categorySlug and slackChannel (and optionally templatesToCheck a
Screen and route candidate CVs with OpenRouter, Google Drive, Sheets, and Gmail
Quick overview This workflow receives candidate CVs via a webhook, extracts text from PDF, DOCX files, looks up the matching job description in Google Sheets, runs a three-agent evaluation using OpenRouter models, then uploads the CV to Google Drive, logs results to Google Sheets, and sends or drafts emails in Gmail. How it works Receives a CV submission via a POST webhook that includes candidate details, an applied job ID, and a CV file. Normalizes the intake data, timestamps the submission, and fetches the matching job description from Google Sheets using the applied job ID. Extracts CV text by either parsing the PDF directly or converting a DOCX/DOC to a Google Doc in Google Drive and exporting it as plain text. Detects whether the CV is Vietnamese or not and uses OpenRouter (Qwen for Vietnamese or Google Gemini for others) to parse the CV into a structured Candidate Profile JSON. Uses OpenRouter (Anthropic Claude Sonnet) to compare the Candidate Profile against the job description, then generates a hiring-manager style review and recommendation based on the ATS evaluation. Uploads the original CV to a recommendation-based Google Drive folder, logs the full screening record (inc
Generate Telegram image-to-video clips with AtlasCloud WAN 2.7 and post via Blotato to TikTok, Instagram, Facebook
Quick overview This workflow listens for a Telegram message containing a photo and caption, generates an image-to-video clip via AtlasCloud (WAN 2.7), then publishes the resulting video to TikTok, Instagram, and Facebook using Blotato and sends a confirmation back on Telegram. How it works Triggers when a Telegram bot receives a message with a photo and caption. Extracts the caption as the video prompt/caption, sets duration and resolution, and downloads the attached photo from Telegram. Uploads the photo to AtlasCloud and starts an image-to-video generation job using the WAN 2.7 model. Waits briefly, then polls AtlasCloud for the generation status until it returns completed/succeeded. Uses the returned video URL and caption to publish the video to TikTok, Instagram, and a Facebook page via Blotato. Sends a Telegram message back to the original chat confirming publishing and includes the generated video link. Setup Create/select Telegram bot credentials and use the bot to receive photo messages and send confirmations. Add an AtlasCloud API key as an HTTP Header Auth credential (Bearer token) and select it on the two AtlasCloud HTTP Request steps. Install and enable the Blotato comm
Extract purchase order line items from PDFs with easybits and Google Sheets
Quick overview This workflow collects purchase order PDFs through an n8n form, extracts header fields and line-item tables with easybits Extractor, appends one row per article to Google Sheets, and shows a completion summary highlighting any missing or incomplete extracted fields. How it works Receives a form submission with one or more uploaded purchase order PDF files. Splits the upload into one workflow item per PDF and processes the PDFs one at a time. Sends each PDF to easybits Extractor to extract purchase order header details and the articles table. Flattens the extracted articles into one row per line item, repeats the PO header fields on each row, and records per-document flags for missing header values or incomplete article fields. Appends the generated rows to a Google Sheets worksheet. After all PDFs are processed, builds a summary of any flagged documents and displays it on the n8n form completion screen. Setup Create an easybits Extractor account, generate an API key, add it as an easybits Extractor credential, and configure the extractor fields (mark_for, po_number, po_date, delivery_date, pr_number, reference_no, and an articles array with article/unit/quantity). Ad
Dub Telegram video links with ElevenLabs and publish to YouTube and TikTok
Quick overview This workflow accepts a video URL from Telegram, sends it to the ElevenLabs Dubbing API to generate a dubbed version in a target language, then uploads the result to Blotato to publish it on YouTube and TikTok and confirms completion back in Telegram. How it works Triggers when a Telegram bot receives a message containing a video link. Reads configuration values such as source/target language, speaker count, watermark/background-audio options, and default YouTube title and caption. Creates an ElevenLabs dubbing job for the provided source URL and periodically checks the job status until it is complete or failed. Stops with an error if ElevenLabs reports the dubbing job as failed. Downloads the dubbed video/audio file from ElevenLabs and uploads the binary file to Blotato to get a public media URL. Publishes the dubbed media to YouTube and TikTok via Blotato (marked as AI/synthetic media) and sends a success message back to the originating Telegram chat. Setup Create a Telegram bot with BotFather, add a Telegram API credential in n8n, and select it for both the Telegram trigger and the Telegram notification step. Create an ElevenLabs API key and configure an HTTP Head
Generate and publish AI short videos from Telegram using Blotato and OpenAI
Quick overview This workflow accepts a content idea via Telegram, uses OpenAI to write a short cross-platform caption, generates a vertical AI video with Blotato, and publishes it to TikTok, Instagram, Facebook, and X (Twitter), then confirms the result back in Telegram. How it works Receives a message (your content idea) via a Telegram bot trigger. Uses the incoming text to set the video prompt and posting options like TikTok privacy and the AI-generated flag. Sends the prompt to OpenAI to generate a single short caption (max 280 characters) to reuse across all platforms. Creates a 9:16 AI video in Blotato using a selected template and predefined template inputs (for example profile name and image). Waits and repeatedly checks Blotato until the video render status is marked as done. Publishes the rendered video and the generated caption to TikTok, Instagram Reels, Facebook Reels, and X (Twitter) via Blotato. Sends a Telegram message confirming the video has been published. Setup Install and enable the Blotato community node in your n8n instance (or enable Verified Community Nodes on n8n Cloud) and add a Blotato API credential. Connect your Blotato account to TikTok, Instagram, Fac
Process prescription orders and refills with Telegram, Google Gemini and Sheets
Quick overview This workflow lets customers order and refill prescriptions via Telegram by extracting medicines from prescription images with Google Gemini, checking and updating inventory in Google Sheets, and sending order summaries and status updates, with delivery updates handled by a webhook and error alerts posted to Slack. How it works Triggers when a Telegram message is received, normalizes it, and routes it based on whether it contains a prescription image/document or the REFILL, STATUS, or CONFIRM command. For prescription images/documents, it downloads the file from Telegram and uses Google Gemini vision to extract medicines, dosages, and quantities from the prescription. It looks up each extracted medicine in a Google Sheets Inventory tab, deducts stock for items that are available, and aggregates the priced order lines. It creates a new pending order in a Google Sheets Orders tab and sends the customer a Telegram order summary with the total and a prompt to reply CONFIRM. For STATUS/REFILL/CONFIRM messages, it reads the relevant order from Google Sheets, sends the current status via Telegram, creates a new pending refill order, or updates the pending order status to co
Manage restaurant orders, upsells, and payments with Telegram, OpenAI, Razorpay, and Google Sheets
Quick overview This workflow runs a Telegram restaurant ordering flow that uses OpenAI to parse orders and suggest an upsell, sends a Razorpay payment link, confirms paid orders via a Razorpay webhook, logs orders and feedback in Google Sheets, notifies the kitchen, sends delivery updates, and posts error alerts to Slack. How it works Receives a customer’s order message in Telegram and sends it to OpenAI to extract items, quantities, subtotal, and a suggested upsell. Replies in Telegram with an order summary and upsell prompt, then waits for the customer to respond. When the customer replies, calculates the final total (including the upsell when accepted) and sends a Razorpay payment link in Telegram. Receives the Razorpay payment.captured webhook, extracts payment details, confirms payment to the customer in Telegram, and posts a kitchen ticket to a dedicated Telegram chat. Appends the paid order to an Orders tab in Google Sheets and calculates ingredient deductions to update the same sheet against the order. Waits through prep and delivery windows and then sends delivery tracking followed by a Telegram feedback request. Captures the customer’s rating in Telegram, calculates loyal
Send signed WooCommerce orders to KSeF via a self-hosted KSeF Gateway
Quick overview This workflow receives WooCommerce order webhooks, verifies the WooCommerce signature, converts eligible orders into a KSeF invoice payload, and submits them to a self-hosted KSeF Gateway API, skipping consumer orders that do not include a buyer NIP. How it works Receives a WooCommerce order webhook request and keeps the raw request body for signature validation. Verifies the X-WC-Webhook-Signature HMAC against your shared webhook secret and rejects invalid requests with a 401 response. Extracts the buyer NIP from WooCommerce order meta data and maps the order (seller, buyer, line items, VAT rates, and payment details) into a KSeF invoice payload. Skips processing and responds to WooCommerce with a success message when the order has no buyer NIP (consumer purchase). Sends the invoice payload to your self-hosted KSeF Gateway endpoint over HTTP with an X-Api-Key header. Responds to WooCommerce with the resulting KSeF number (when available) or an error from the gateway. Setup Deploy a KSeF Gateway instance and note its base URL. Update the workflow configuration values for the gateway URL and API key, seller NIP/name/address, and the WooCommerce webhook secret. In WooC
Create KSeF invoices from completed Sellf purchases via KSeF Gateway
Quick overview This workflow receives signed Sellf purchase webhooks, validates the HMAC signature, and when the buyer requests an invoice with a NIP it builds a KSeF-ready invoice and submits it to a self-hosted KSeF Gateway, capturing the returned KSeF number or an error. How it works Receives a POST webhook from Sellf with the raw request body and the X-Sellf-Signature header. Verifies the webhook signature using HMAC-SHA256 and rejects the request with a 401 response if the signature is invalid. Responds immediately with a JSON OK response and continues processing in the background. Filters the event to purchase.completed and extracts the customer, order, and invoice details from the webhook payload. Continues only if the customer requested an invoice and provided a non-empty NIP. Builds a KSeF invoice payload using your seller details and the purchase data, then posts it to your KSeF Gateway /ksef/invoice endpoint with an X-Api-Key header. Stores the KSeF submission result by extracting the ksefNumber and status on success, or capturing the returned error details on failure. Setup Set up Sellf webhooks to send purchase.completed events to this workflow’s production webhook URL
Poll and download received invoice PDFs with KSeF Gateway to disk storage
Quick overview This workflow runs every 20 minutes to poll a self-hosted KSeF Gateway for newly received KSeF invoices, maintains a cursor checkpoint in n8n static data, downloads each new invoice PDF via the gateway API, and saves the files to local disk. How it works Runs every 20 minutes on a schedule. Reads the last successful polling checkpoint from the workflow’s static data and calls the KSeF Gateway /ksef/invoices/received/new endpoint with the since cursor. If the gateway response is unsuccessful, records the error details for alerting and leaves the checkpoint unchanged so the next run retries the same window. If the response is successful, stores the returned nextSince value as the new checkpoint. If new invoices are returned, processes each invoice summary individually. Downloads each invoice PDF from the KSeF Gateway /ksef/invoice/{ksefNumber}/pdf endpoint and saves it to the configured local folder. Outputs invoice metadata (number, seller, amount, and saved file path) as a placeholder where you can plug in notifications (Slack, email, or Discord). Setup Deploy and configure a self-hosted KSeF Gateway (https://github.com/jurczykpawel/ksef-gateway) with a token or cert
Create daily ClickUp task reports with OpenRouter o3-mini
Quick overview This workflow runs each morning, pulls all tasks from a specified ClickUp list, merges their names and descriptions, and uses an OpenRouter-hosted OpenAI chat model to generate a daily report. It then creates a new ClickUp list for the current run and adds the report as a task. How it works Runs every morning at the configured hour using a schedule trigger. Fetches all tasks from the specified ClickUp list. Merges the retrieved tasks into a single formatted text block for summarization. Checks that task data exists and, if not, creates an error list in ClickUp and stops with an error. Creates a new ClickUp list named with the current date/time to store the report. Sends the merged task text to an AI Agent backed by an OpenRouter (OpenAI) chat model to generate the report content. Creates a ClickUp task named “Report” in the newly created list and stores the AI-generated summary in the task description. Setup Add ClickUp OAuth2 credentials in n8n and select the correct Team/Space/Folder/List details in the ClickUp nodes (including the source list to read from). Add an OpenRouter credential and choose the chat model in the AI Chat Model node. Set the schedule time (hou