Skip to content
FlowHubFluxonLab

Code workflows

1,006 results — all source-linked n8n references

CW
free

Generate Pinterest pin copy CSV from blog RSS with OpenAI-compatible chat

Quick overview Turn your latest blog posts into Pinterest-ready pin titles, descriptions and keywords, exported as a CSV formatted for Pinterest's native bulk upload. An AI writes one conversion-focused pin per post from your RSS feed — curiosity-preserving titles under 90 characters, natural keywords, no clickbait. How it works Starts when you manually execute the workflow. Loads configuration values such as the RSS feed URL, number of posts to process, target Pinterest board name, and the AI API base URL and model. Reads the blog’s RSS feed and collects the newest N posts with their titles, links, and short snippets. Sends the post list to an OpenAI-compatible Chat Completions endpoint to generate one Pinterest pin title, description, and keyword set per post as structured JSON. Transforms the AI response into Pinterest bulk upload columns (including Title, Description, Keywords, Link, and Pinterest board) and inserts a placeholder Media URL for you to replace. Converts the rows into a CSV file and provides it for download. Setup Add an HTTP Header Auth credential for your OpenAI-compatible API (for example, Authorization: Bearer ) and select it on the AI request step. Update the

by seo dong min
CgmailsheetsW
free

Create purchase orders from Google Sheets using Groq AI and Gmail

Quick overview This workflow runs every 15 minutes to read approved, new requisitions from Google Sheets, validate supplier and policy rules, call an LLM risk-assessment API via HTTP, then create a purchase order record, update requisition status, write audit logs, and notify the procurement team via Gmail. How it works Runs every 15 minutes on a schedule. Reads requisitions from Google Sheets and keeps only rows where ApprovalStatus is "Approved" and ProcessingStatus is "New". Looks up each requisition’s supplier in a Google Sheets supplier master sheet and merges the supplier details into the requisition. Stops processing for items that don’t meet the duplicate/eligibility criteria, and validates supplier status, contract status, compliance, and max spend limit. For validated requisitions, sends the requisition and supplier details to an LLM risk-assessment endpoint via HTTP and parses the JSON decision, risk score, and reason. Generates a purchase order number, appends the purchase order to a Google Sheets Purchase_Orders sheet, updates the requisition to "Processed", logs the outcome to an Audit_Logs sheet, and emails the procurement team via Gmail. For failed validations, appe

by WeblineIndia
CW
free

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

by Kevin Yu
asanaCgooglecalendar
free

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

by Kevin Yu
CsheetsW
free

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

by Kevin Yu
CW
free

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

by Jonnie Lane
ACgmailsheets
free

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

by WeblineIndia
ABCD
free

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

by Yash Kabra
Cgmailsheets
free

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),

by Hassan
ACgmail
free

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

by Nocode Expert
CWnotion
free

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

by Yasutaka Toshima
Csheets
free

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

by Rishabh Patil
CgmailW
free

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

by Nocode Expert
BCgmailgoogledrive
free

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

by Oka Hironobu
BCgmail
free

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

by Oka Hironobu
BCgmail
free

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

by Oka Hironobu
BCgmail
free

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)

by Oka Hironobu
Csheets
free

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

by ToolMonsters
Cgmail
free

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

by Marc Soummer
BCgmail
free

Check Japanese ad copy compliance with Google Gemini, Sheets, Slack and Gmail

Quick Overview This workflow runs daily to review Japanese ad copy in Google Sheets using Google Gemini, writes compliance risk results back to the sheet, and alerts the right team in Slack (and drafts a Gmail revision request) based on high/medium/low risk. How it works Runs every day at 9:00 on a schedule. Reads ad copy rows from Google Sheets to find items that still need a compliance check. Sends each copy item to Google Gemini with the configured product category, target laws, and extra rules to generate a risk level, violations, and a compliant rewrite. Parses and normalizes the Gemini output into fields like risk level, violation count, and safe rewrite, and posts a Slack alert if the AI check fails. Updates the corresponding Google Sheets row with the compliance results to keep a record of the review. Routes the item by risk level and posts to Slack for legal blocking (high), marketing review (medium), publish-ready notification (low), or manual review when the result is inconclusive. For high-risk copy, also creates a Gmail draft requesting the author to revise the copy using the suggested compliant rewrite. Setup Add credentials for Google Sheets, Google Gemini (PaLM) API

by Oka Hironobu
BCgmail
free

Verify Japanese invoice registration numbers from Gmail using Gemini, NTA API, Sheets and Slack

Quick Overview This workflow monitors Gmail for unread invoice emails with PDF attachments, extracts invoice details with Google Gemini, verifies Japanese qualified invoice registration numbers against the National Tax Agency (NTA) Invoice Web-API, logs results to Google Sheets, and sends Slack alerts for invalid, missing, or inconclusive checks. How it works Polls Gmail hourly for unread emails matching “has:attachment invoice” and downloads the first attachment. Extracts text from the attached invoice PDF. Uses Google Gemini to parse the invoice text into structured fields such as the T-registration number, issuer name, invoice date, and amounts. Normalizes and validates the registration number to ensure it matches the required “T + 13 digits” format. If the format is valid, calls the NTA Invoice Web-API to verify the registration number and interprets the response as valid, invalid, or not found. Appends the invoice details and verification status to a Google Sheets worksheet. Routes the outcome by sending the appropriate Slack alert for invalid/not found/inconclusive results or marking the invoice email as read when the number is valid. Setup Connect your Gmail OAuth2 credentia

by Oka Hironobu
CsheetsWsendemail
free

Monitor weekly LLM share of voice with OpenRouter, Google Sheets, and email reports

Quick overview This workflow runs weekly to query multiple LLMs via OpenRouter with prompts from Google Sheets, analyzes brand mentions and domain citations, aggregates weekly Share of Voice metrics, and emails an HTML visibility report. How it works Runs every week on a schedule trigger. Reads active prompts from a Google Sheets “prompts” tab and expands them into multiple model runs (including repeated runs per model) to create OpenRouter chat completion requests. Sends each request to OpenRouter, normalizes the response into answer text and extracted citation URLs, and appends the results to the Google Sheets “runs” tab. Loads brand definitions from the Google Sheets “brands” tab, scans the latest successful runs for brand mentions and matching citation domains, and writes one mention/citation record per brand-run to the “mentions” tab. Aggregates the mention and citation results into weekly metrics per model (and an “all models” total), including mention rate, citation rate, Share of Voice, and average first-mention position, and appends them to the “weekly_agg” tab. Builds an HTML report that compares the current week to the previous week, flags alerts (SoV drop > 5pp or citat

by Eugen Ullrich
ACW
free

Run a multimodal WhatsApp AI assistant with OpenAI for text, voice and images

Quick overview This workflow turns WhatsApp into a multimodal assistant that answers text, voice notes, images, and PDF documents using OpenAI, and can generate images with DALL·E on demand, replying back in WhatsApp with either text, audio, or an image. How it works Triggers when a new WhatsApp message is received. Detects whether the incoming message is text, a voice note, an image, a PDF document, or an unsupported type. For text messages, generates an image with OpenAI DALL·E when the message starts with the configured /image command, and sends the generated image back to the sender. For voice notes, fetches the WhatsApp media URL, downloads the audio, transcribes it with OpenAI, and forwards the transcript to the assistant. For images, fetches the WhatsApp media URL, downloads the image, describes it with OpenAI vision using the configured analysis prompt, and forwards the description (plus any caption) to the assistant. For PDF documents, downloads the file from WhatsApp, extracts the PDF text, and forwards the extracted content (plus any caption) to the assistant, while non-PDF files receive an error message. Uses an OpenAI chat model with per-contact short-term memory to ge

by Dr. Firas
ACgmailsheets
free

Screen LinkedIn jobs and send tailored applications with Apify and OpenAI

Quick overview This workflow collects your job preferences via an n8n form, uses Apify to scrape LinkedIn job listings, and has OpenAI screen and rank them. After you approve a shortlist by Gmail, it generates tailored resume and cover-letter PDFs with DocRaptor, emails them to you, and logs matches to Sheets How it works Receives your job preferences and resume text through an n8n form submission. Sends the preferences to Apify to scrape recent LinkedIn jobs, then removes duplicates and obvious mismatches (seniority, years of experience, and location). Uses OpenAI to score each job’s relevance and eligibility and returns a JSON verdict with a fit score and short reason. Keeps the top matches above the configured threshold and emails you a shortlist in Gmail with approve/decline buttons. If you approve, uses OpenAI to draft a job-specific resume and cover letter from only the provided profile text and generates HTML interview prep questions. Converts the resume and cover letter HTML into PDFs via DocRaptor, emails the tailored application package to you in Gmail, and appends the match details to a Google Sheets tracker. Setup Add credentials for OpenAI, Gmail OAuth2, Google Sheets

by Dr. Firas