Marketplace
İndirebileceğin 3.557 hazır workflow dosyası, artı 10.661 kaynağa bağlı n8n referansı.
Post a daily Asana project status digest to Slack
Quick overview This workflow runs every weekday morning to fetch tasks from a specified Asana project, bucket them by due status and completion activity, and post a Slack Block Kit digest with counts, key task links, and per-assignee open workload. How it works Runs on a weekday-morning schedule. Pulls tasks from a chosen Asana project via the Asana REST API, including assignee, due date, completion status, and task links, and paginates through results as needed. Groups open tasks into overdue, due today, due this week, and unassigned buckets, and also collects tasks completed within the configured lookback window. Calculates summary counts and open-task load per assignee. Formats the results into a Slack Block Kit message with a short totals line and up to five linked tasks per bucket. Posts the digest to the specified Slack channel. Setup Add an Asana Personal Access Token (Asana API credentials) and select it for the HTTP request that fetches project tasks. Add a Slack OAuth credential and ensure the app/bot can post messages to your target channel. In the configuration step, set your Asana project GID, Slack channel ID, timezone, and the lookback window for recently completed t
Answer Notion knowledge base questions with You.com Research
Quick overview This workflow monitors a Notion questions database and, for items marked “To Research,” uses You.com Research to generate a cited answer, then writes the answer and sources back to the same Notion page and updates the status to “Answered”. How it works Triggers when a new page is added to a specified Notion database (polled every minute). Checks that the page has a non-empty Question field and that Status equals “To Research”. Sends the question text to You.com using the Research operation to generate an answer with sources. Updates the same Notion page with the generated Answer and Sources fields and sets Status to “Answered”. If the You.com request fails, writes an error message into the Answer field and leaves the item in “To Research” so it can be retried. Setup Use self-hosted n8n and install the community node package @youdotcom-oss/n8n-nodes-youdotcom. Add Notion API credentials and a You.com API credential, then select them in the corresponding nodes. Replace the Notion database ID in the trigger and ensure the database has properties named Question, Status (select), Answer (text/rich text), and Sources (text/rich text) with Status options “To Research” and “
Sync Asana task due dates with Google Calendar events
Quick Overview This workflow runs every 15 minutes to sync due dates from Asana tasks in a chosen project into Google Calendar, creating, updating, or deleting calendar events as tasks change, using an asana_gid marker in event descriptions to prevent duplicates. How it works Runs every 15 minutes on a schedule. Reads the Asana project GID, target Google Calendar ID, and default timed-event duration from the workflow configuration. Fetches all tasks from the specified Asana project, including due dates, completion status, assignee, and task link. Retrieves existing Google Calendar events that contain the asana_gid: token in their description to identify previously synced items. Compares tasks to events and decides whether to create a new event, update an existing one, or delete an event when a task is completed, loses its due date, or no longer exists. Creates, updates, or deletes the corresponding Google Calendar events, writing the asana_gid: marker into the event description for future runs. Produces a run summary with counts of created, updated, and deleted events. Setup Add an Asana credential (Personal Access Token) and select it for the Asana node that reads tasks. Add a Goo
Audit Asana task hygiene with Google Sheets and Slack scorecards
Quick overview This workflow runs every Monday at 8am to audit open tasks in an Asana project for missing assignees and due dates (optionally missing sections and descriptions), appends each flagged task to Google Sheets, and posts a weekly hygiene scorecard with key counts and top offenders to Slack. How it works Runs every Monday at 8am on a schedule trigger. Fetches tasks from the specified Asana project via the Asana API and keeps only open (incomplete) tasks. Checks each open task for missing assignee and due date (and optionally missing section and empty description) and prepares one audit row per task that fails any enabled rule. Appends the flagged task rows (including reason codes and task permalink) to a Google Sheets tab for a running audit log. Calculates weekly completeness metrics across all open tasks and formats a Slack scorecard including category counts, percent fully fielded, and top offenders. Posts the scorecard message to the configured Slack channel. Setup Add an Asana API credential and set the target Asana project GID in the configuration values. Add a Google Sheets OAuth2 credential, select the target spreadsheet and sheet/tab, and ensure the header column
Create social visuals from blog RSS with Canvora and Slack
Quick overview This workflow watches your blog RSS feed for new posts, sends each post URL to Canvora to generate branded social image formats (and an optional carousel), polls until generation completes, and posts the resulting image links to a Slack channel for review. How it works Triggers when a new item appears in the configured RSS feed on an hourly polling schedule. Builds a Canvora generation request using the blog post URL plus your selected output formats, optional carousel settings, language, and brand kit ID. Creates the generation in Canvora via its API. Polls Canvora every 30 seconds to fetch the generation status until it completes, fails, is cancelled, or times out after about 10 minutes. If the generation succeeds (completed or partial), sorts the returned assets and formats a Slack message containing the public file URLs and an edit link. Posts the message to the chosen Slack channel for human review, or sends a Slack alert if the generation fails or times out. Setup Create a Canvora account and add an API key as an HTTP Header Auth credential (header name X-API-Key). Update the RSS Feed Trigger with your blog’s RSS URL. Optionally set Canvora format IDs, carousel
Monitor procurement spend and risks with Google Sheets, Groq Llama and Gmail
Quick Overview This workflow runs every 15 minutes to pull procurement transactions and department budgets from Google Sheets, calculate spend utilization and forecasts, generate executive risk insights with Groq Llama, write dashboard records back to Google Sheets, and email critical-risk alerts via Gmail. How it works Runs every 15 minutes on a schedule. Reads procurement transactions and department budget/threshold data from Google Sheets and combines them by department. Aggregates spend per department, calculates utilization, remaining budget, projected monthly spend, vendor counts, pending transactions, and assigns SAFE/WARNING/CRITICAL risk levels. Uses Groq (Llama 3.1) to generate an executive-friendly risk analysis and recommendations for each department based on the calculated metrics. Builds organization-wide dashboard totals (spend, projections, alert counts, highest-spend and top-risk departments) and attaches workflow metadata. Formats the results into executive summary, department insight, and risk alert records and appends them into separate Google Sheets tabs. Sends a Gmail escalation email when a CRITICAL risk alert record is detected. Setup Connect Google Sheets O
Triage Gmail and draft email replies with OpenAI, Slack, and Google Sheets
Quick overview This workflow polls your Gmail inbox every 15 minutes, uses OpenAI to classify unread emails as URGENT, STANDARD, or SPAM, drafts reply emails for non-spam messages, posts a review notification to Slack, and logs spam messages to Google Sheets. How it works Runs every 15 minutes on a schedule and fetches up to 20 unread messages from your Gmail Inbox. Marks each fetched Gmail message as read and extracts key fields (sender, subject, snippet, body text, thread ID) for processing. Sends the email content to OpenAI to return a strict JSON classification (category, action label, priority note, and suggested subject). Routes SPAM messages to Google Sheets to append a row in a “Spam Log” sheet and stops further processing for those emails. Sends URGENT and STANDARD messages to OpenAI to generate a concise, plain-text reply draft in your writing style. Saves the generated reply as a Gmail draft in the original thread and posts a Slack message with the triage details so you can review and send. Setup Connect a Gmail OAuth2 credential and ensure the workflow has access to read Inbox messages, mark them as read, and create drafts. Add an OpenAI credential and customize the two
Run AI employee onboarding with Groq, Google Workspace, and Gemini
Quick overview This workflow ingests onboarding documents from Google Drive into an in-memory vector store with Google Gemini embeddings, then runs a multi-channel onboarding chatbot powered by Groq, sends role-based welcome emails via Gmail when a new hire appears in Google Sheets, and schedules day 1/7/30 check-in emails. How it works Manually runs an ingestion flow that lists files in a specified Google Drive folder, downloads them, extracts text, and indexes them into an in-memory vector store using Google Gemini embeddings. Receives employee questions via n8n Chat (and optionally Slack or Telegram), normalizes the message into a single format, and rejects empty or overly long inputs. Uses a Groq LLM agent with per-user session memory to retrieve relevant excerpts from the in-memory company_docs knowledge base and generate a grounded answer, or directs the user to HR when no relevant content is found. Routes the assistant’s response back to the originating channel (n8n Chat, and optionally Slack or Telegram). Triggers every minute on updates to a Google Sheets “Hires” sheet, validates rows marked as Hired, and skips hires already present in the “Tracking” sheet. Builds a depart
Follow up on abandoned carts with WhatsApp and Google Sheets
Quick overview This workflow runs every hour to read abandoned cart rows from Google Sheets, sends a WhatsApp reminder (with a discount for high-value carts), and then updates the sheet to log the follow-up count and timestamp. How it works Runs every hour on a schedule trigger. Loads configuration values (sheet details, WhatsApp phone number ID, value threshold, discount settings, and follow-up rules). Fetches cart records from a Google Sheets worksheet. Filters to carts abandoned before the configured cutoff, not marked as purchased, and still under the maximum follow-up count. Sends a WhatsApp message via WhatsApp Business Cloud with a discount offer for carts above the high-value threshold, or a plain reminder for lower-value carts. Updates the matching row in Google Sheets to increment the follow_up_count and set last_follow_up_at to the current timestamp. Setup Add Google Sheets OAuth2 credentials and set the Google Sheet ID and sheet name in the configuration values. Add WhatsApp Business Cloud credentials and set your WhatsApp phone number ID in the configuration values. Ensure your Google Sheet includes the required columns: row_id, customer_name, phone_number, cart_value,
Qualify Facebook lead ads and send follow-ups with Gemini, Gmail, and Sheets
Quick overview Turn every Facebook ad lead into a qualified, followed-up prospect within seconds. AI scores their intent, sends a personalized email tailored to their score, logs campaign intelligence to Google Sheets, and alerts you instantly to hot leads before they consider a competitor. How it works Receives a lead submission via an n8n webhook (or the disabled Facebook Lead Ads trigger). Extracts and normalizes contact details, qualification answers, and Facebook campaign metadata into a consistent lead record. Sends the lead details to Google Gemini to classify the lead as Hot/Warm/Cold and generate a personalized follow-up email. Parses and formats the AI output, falling back to a default email draft if the response cannot be parsed. If an email address is present, sends the AI-written follow-up email to the lead using Gmail. Appends the lead, AI score, reasoning, and campaign fields to a Google Sheets log. If the lead is scored Hot, notifies the agent via Gmail and Slack, then updates the Google Sheets row to mark the agent as notified. Setup Credentials needed: Add credentials for Google Gemini (PaLM/Gemini API), Gmail OAuth2, Google Sheets OAuth2, Slack OAuth2 (optional),
Send a daily AI-ranked job match digest with Anthropic and Gmail from 6+ boards
Quick Overview This workflow runs every morning to pull jobs from multiple free job boards (and optional Adzuna), filters and de-duplicates results, scores each role against your resume and preferences using Anthropic, then emails a ranked digest via Gmail. How it works Runs every morning at 08:00 using a schedule trigger. Builds a list of job board API URLs (RemoteOK, Remotive, Arbeitnow, Jobicy, Himalayas, TheMuse, and optional Adzuna) based on your search settings. Fetches job listings from each board over HTTP. Normalizes all responses into a single job format, applies your filters (title keywords, tags, locations/remote, salary, and excluded terms), and de-duplicates roles across boards. Sends your resume, preferences, and the short-listed jobs to an Anthropic-powered AI agent to return a structured fit score, fit reason, risk/concerns, and a tailored first-person pitch for each job. Keeps only roles at or above your minimum score, ranks them by score, and generates an HTML email digest with links and source board attribution. Sends the digest to your target address using Gmail. Setup Add an Anthropic API credential, select an Anthropic chat model, and keep the structured outp
Extract business card contacts from LINE with Google Gemini and Notion
Quick overview This workflow receives image messages from LINE, downloads the photo, uses Google Gemini to detect and extract business card details, and then saves the contact to a Notion CRM database before replying to the sender in LINE. How it works Receives a POST request from the LINE Messaging API webhook when a user sends a message. Extracts the message type, image message ID, reply token, and LINE user ID from the webhook payload. If the message is an image, downloads the image content from the LINE data API and converts it to Base64. Sends the image to Google Gemini (Generative Language API) to determine whether it is a business card and to extract name, company, position, phone, and email as JSON. Parses Gemini’s JSON response and branches based on whether the image is flagged as a business card. If it is a business card, creates a new page in a Notion CRM database with the extracted fields and pushes a confirmation message to the user in LINE. If it is not a business card, pushes a LINE message asking the user to resend a clearer business card photo. Setup Create a LINE Messaging API channel, enable webhooks, and add the n8n webhook URL from the LINE webhook trigger as y
Classify lead function and seniority in Google Sheets with Google Gemini
Quick overview This workflow reads contacts from Google Sheets, uses Google Gemini to classify each contact’s job function and seniority from their job title and company name, and writes the Function, Seniority, and Confidence Score back to the same sheet. How it works Starts manually when you click Execute workflow. Reads rows from a specified Google Sheets worksheet and maps your column headers to the workflow’s expected fields. Keeps only contacts that have a Job Title and no existing Seniority value. Normalizes job titles and company names, deduplicates identical Job Title + Company pairs, and batches the unique combinations to save LLM tokens. Waits between batches to respect rate limits, then sends each batch to Google Gemini to return Function, Seniority, and a confidence score for every original row ID. Parses Gemini’s JSON response and updates the matching rows in Google Sheets with Function, Seniority, and Confidence Score. Setup Add Google Sheets OAuth credentials and set the Google Document ID and Sheet ID in the Global Settings values. Add a Google Gemini (PaLM) API credential for the Google Gemini node. Ensure your sheet has columns for #, Job Title, Company Name (rec
Send a daily AI-ranked news brief with Anthropic Claude and Gmail
Quick Overview This workflow runs every morning to fetch recent articles from 50+ curated RSS/Atom feeds, uses Anthropic Claude to rank and rewrite the most relevant items based on your interests, then sends a category-grouped HTML news brief to you via Gmail. How it works Runs daily on a schedule trigger. Reads your configured categories, interests, and look-back window, then expands them into a list of RSS/Atom feed URLs. Fetches each feed over HTTP and parses, tags, de-duplicates, and filters articles to keep only recent items within the time window. Sends the curated article pool to Anthropic Claude to remove noise, select the top stories across categories, rewrite headlines, and assign importance scores. Formats the ranked picks into an HTML brief grouped by category with links and one-line rationales. Emails the brief to your target address using Gmail. Setup Add an Anthropic API key and set it in the workflow configuration so the HTTP request to Anthropic can authenticate. Connect a Gmail account credential for sending email. Update the configuration values for categories, interests, delivery email address, and limits (hoursBack, perFeed, maxItems, topN). Adjust the schedule
Send new BookMyShow movie or event alerts to Telegram with Apify
Quick Overview This workflow runs every 6 hours, uses Apify’s BookMyShow Scraper to fetch the latest movie listings for a chosen city, deduplicates results across runs, and sends a Telegram message for each newly detected listing with key details and a booking link. How it works Runs on a schedule every 6 hours. Sets the target BookMyShow city and scrape mode (movies). Calls the Apify BookMyShow Scraper actor to pull up to 30 current listings with details. Filters out any listings whose BookMyShow eventCode has already been seen in previous workflow executions. Sends a Telegram message for each new listing with the title, language, certification, rating, release date, and URL. Setup Install and configure the Apify node, then add an Apify API token credential. Create a Telegram bot, add a Telegram API credential in n8n, and set the Telegram chat ID to receive messages. Update the city (for example, mumbai) and optionally change scrapeMode to events if you want event alerts instead of movies. Adjust the schedule interval if you want the workflow to check BookMyShow more or less frequently.
Archive and index legal PDFs from Gmail with Gemini, Sheets and Google Drive
Quick Overview This workflow monitors Gmail for unread emails with PDF attachments, uses Google Gemini to extract Japan Electronic Books Preservation Act filing metadata, logs a searchable index in Google Sheets, and archives documents into Google Drive folders while notifying Slack when extraction or classification fails. How it works Polls Gmail hourly for unread emails that contain attachments and downloads the attached files. Extracts text from the first PDF attachment. Sends the extracted text to Google Gemini to pull out transaction date, counterparty, amount, and document type, and alerts Slack if the document text cannot be read. Builds an Act-compliant PDF filename from the extracted fields and checks that date, counterparty, and amount are all present. If required metadata is missing, posts a warning to a Slack channel to handle the document manually. If metadata is complete, appends a row to a Google Sheets “Document Index”, marks the Gmail message as read to prevent reprocessing, and uploads the PDF to the matching Google Drive folder (invoice/receipt/contract) or flags it in Slack if unclassified. Setup Connect credentials for Gmail, Google Gemini (PaLM) API, Google Sh
Match Japanese jGrants subsidies to your company with Gemini, Slack and Gmail
Quick Overview This workflow runs weekly to search the public jGrants API for open Japanese subsidies, scores each subsidy’s fit for your company using Google Gemini, logs results to Google Sheets, and notifies a Slack channel (and drafts a Gmail kickoff email) for strong matches. How it works Runs weekly on a schedule and loads your company profile details (industry, headcount, prefecture, investment plan, and search keyword). Calls the public jGrants subsidies API to retrieve currently accepting programs sorted by newest first, and posts to Slack if the search fails. Processes each returned subsidy individually and asks Google Gemini to produce a fit score, verdict (strong/possible/no), reasons, next steps, and a short summary. Normalizes the Gemini response into consistent fields, and posts to Slack if scoring fails for a subsidy. Upserts each scored subsidy into a Google Sheets tracker (keyed by subsidy ID) to avoid duplicates across weekly runs. Routes results by verdict: sends a detailed Slack alert and creates a Gmail draft for strong matches, posts a lightweight Slack message for possible matches, and flags unclear verdicts in Slack. Setup Add credentials for Google Gemini
Monitor Japanese business partners for registry changes with gBizINFO and Gemini
Quick Overview This workflow runs weekly to check Japanese business partners listed in Google Sheets against the gBizINFO corporate registry API, uses Google Gemini to assess the risk impact of detected changes, updates the stored partner snapshot, and escalates findings to Slack and Gmail based on materiality. How it works Runs every week on a schedule. Reads the partner list (including corporate numbers and last-known name/address) from Google Sheets. Queries the gBizINFO corporate registry API for each partner and posts a Slack message if the lookup fails. Compares the latest registry data to the stored snapshot to detect name, address, or closure/dissolution changes and continues only when changes are found. Sends the detected changes to Google Gemini to classify materiality (high/medium/low) with a short summary and recommended action, and posts a Slack message if the assessment fails. Updates the Google Sheets partner snapshot with the latest registry details so the change is recorded. Routes by materiality to notify Slack (medium/other), and for high materiality also posts a Slack alert and creates a Gmail draft requesting a credit review. Setup Create a Google Sheets spread
Monitor overtime risk against Japanese labour caps with Gemini, Sheets, Slack & Gmail
Quick Overview This workflow runs weekly to read attendance overtime from Google Sheets, totals it per employee and month, uses Google Gemini to classify risk against Japanese labour-law limits, writes results back to Sheets, and escalates high-risk cases via Slack and a Gmail draft. How it works Runs every week on a schedule. Loads configured Japanese overtime limits and fetches raw attendance rows from a Google Sheets “Attendance” worksheet. Aggregates overtime hours per employee per month. Sends each employee-month total to Google Gemini, which returns a structured risk level (over/approaching/ok) plus a short summary and recommended manager actions. Stores or updates the assessment in a Google Sheets “Overtime Status” worksheet keyed by employee and month. Posts to Slack when overtime is over the cap (and drafts a manager notice in Gmail), posts an early-warning Slack message when approaching the cap, and flags unclear or failed assessments to Slack for manual review. Setup Add credentials for Google Sheets OAuth, Google Gemini (PaLM) API, Slack OAuth2, and Gmail OAuth2. Create a Google Sheets spreadsheet with an “Attendance” sheet containing Employee (or Name), Month (or Date)
Chat with Google Docs and Sheets using a Claude AI agent
Quick Overview This workflow opens an n8n chat interface where an AI agent powered by Anthropic Claude answers questions by reading a connected Google Doc and/or Google Sheet on demand, using short-term conversation memory for follow-up questions. How it works Receives a user question through n8n’s built-in chat trigger. Uses an AI agent powered by Anthropic Claude to decide whether it needs to consult Google Docs, Google Sheets, or both. Reads the full text of the configured Google Doc when the question is about document content. Fetches rows from the configured Google Sheet tab when the question is about spreadsheet data. Answers in the chat based only on the retrieved Doc/Sheet content (or states the information isn’t present), while keeping the last 10 messages in memory for contextual follow-ups. Setup Add credentials for Anthropic (Claude), Google Docs, and Google Sheets. Replace YOUR_GOOGLE_DOC_ID_OR_URL with your target Google Doc URL or ID. Set the Google Sheet document ID and choose the tab (sheet name) to read in the Google Sheets tool. Confirm the connected Google account has access to both the Doc and the Sheet, then open the workflow chat and start asking questions.
Track weekly Google SERP rankings with Bright Data, Google Sheets, and Slack
Quick overview This workflow runs every Monday at 8 AM to check your Google rankings for keywords stored in Google Sheets using Bright Data’s SERP API, then writes the latest and previous positions back to the sheet and posts a per-keyword update to a Slack channel. How it works Runs every Monday at 8 AM on a scheduled trigger. Reads the list of keywords, target domains, and target countries from a Google Sheets spreadsheet. Queries Google for each keyword via the Bright Data SERP API. Parses the organic results to find the ranking position of the target domain (or returns “Not in top 100”) and carries forward the prior saved position. Updates Google Sheets by writing the new “Last Position” and shifting the prior value into “Previous Position” for the same row. Sends a formatted SERP rank update message to a selected Slack channel for each tracked keyword. Setup Add credentials for Google Sheets, Bright Data, and Slack (OAuth2). Replace YOUR_GOOGLE_SHEET_ID in both Google Sheets steps with your spreadsheet ID and ensure the worksheet contains Keyword, Target Domain, Target Country, Last Position, and Previous Position columns. Configure the Bright Data node with your preferred zon
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
Book and check phone appointments with Vapi or Retell and Google Calendar
Quick overview This workflow exposes a webhook for a Vapi or Retell voice agent to check Google Calendar availability or book an appointment, then returns a short, spoken-friendly reply for the agent to read to the caller. How it works Receives a POST request from your Vapi/Retell voice agent via a webhook with an action, caller details, and a requested start time. Loads business settings (business name, Google Calendar ID, and appointment slot length) and calculates the appointment end time from the start time. Routes the request based on whether the action is to check availability or book an appointment. For availability checks, queries Google Calendar free/busy for the requested time window and builds a confirmation or rejection sentence. For bookings, creates a Google Calendar event for the requested time and includes the caller’s name and phone in the event details, then builds a booking confirmation sentence. If the action is missing or unrecognized, returns a fallback prompt asking the caller to clarify. Responds to the webhook with JSON containing the reply text for the voice agent to speak back to the caller. Setup Add a Google Calendar credential in n8n. Update the busine
Monitor competitor pricing page changes with OpenAI, Google Sheets and Slack
Quick overview This workflow checks competitor pricing pages each morning, compares the latest visible text to the previous snapshot stored in Google Sheets, and uses OpenAI to summarize meaningful changes before posting an alert to a Slack channel. How it works Runs every day at 08:00 on a schedule. Reads your configured list of competitor page URLs and processes each URL individually. Fetches each page’s HTML, extracts the visible body text, and trims it to a snapshot for comparison. Looks up the previous snapshot for the same URL in Google Sheets. If a previous snapshot exists and the content differs, OpenAI generates a 1–3 bullet summary of meaningful changes based on your watch criteria. Posts the change summary to Slack and then appends or updates the URL’s latest snapshot and “Last Checked” timestamp in Google Sheets. If no previous snapshot exists or no change is detected, it skips the Slack alert and only saves the current snapshot to Google Sheets. Setup Add credentials for Google Sheets, Slack, and OpenAI (Chat) and select the target Slack channel. Create or choose a Google Sheet with columns named URL, Content, and Last Checked, and set the Spreadsheet ID and sheet name