Quick overview This workflow receives income and financial-goal data via webhook, stores enriched metrics in Google Sheets, generates a tailored plan with Google Gemini, converts it to a PDF via PDFShift, uploads it to Google Drive, and emails the result using Gmail. How it works Receives a POST webhook request containing an Income value and a Goal string. Normalizes the incoming fields and validates that income is non-negative and the goal is not empty, returning a webhook error response if validation fails. Calculates a timestamp, a recommended monthly saving amount (20% of income), and an income category (Low/Mid/High), then appends the record to Google Sheets. Routes the request by income category and uses Google Gemini (PaLM) to generate a personalized financial plan with category-specific guidance. Builds an HTML report that includes the user’s inputs and the Gemini-generated plan, then converts the HTML to a PDF using the PDFShift API and fetches the generated file. If the PDF is created successfully, uploads it to Google Drive, emails the PDF and Drive link via Gmail, and returns the HTML report in the webhook response.
Tags
Related workflows
See all AI Automation→Run LinkedIn outreach with Google Gemini, Apify, Google Sheets, and PhantomBuster
Quick overview This workflow collects a plain-English LinkedIn audience description via an n8n form, uses Google Gemini to generate a search URL, pulls matching leads from Apify, writes five personalized icebreakers to Google Sheets, and drip-launches a PhantomBuster agent every 15 minutes. How it works Receives a form submission with a plain-English description of your target LinkedIn audience. Uses Google Gemini to turn the audience description into a JSON response containing an Apollo-style search URL, then parses and extracts the searchUrl value. Calls the Apify API to run an actor and return up to 100 lead records matching the configured filters. Limits processing to the first five leads to control outreach volume. Uses Google Gemini to generate a short, unique connection-message icebreaker for each lead based on their profile fields. Appends or updates each lead in Google Sheets with contact details, LinkedIn URLs, and the generated icebreaker. Waits 15 minutes per lead and then triggers a PhantomBuster agent via HTTP request to start the outreach action. Setup Create and add credentials for Google Gemini (PaLM API) and update the model selection if needed. Add an Apify API t
Send and track Slack invoice requests with Gemini, Google Sheets and Gmail
Quick overview Youtube Video: https://youtu.be/42-oHh9w9Eo This workflow listens for Slack @mentions, uses Google Gemini to classify the request and extract invoice details, then reads and updates Google Sheets, generates invoice PDFs with PdfBro, sends invoices or reminders via Gmail, and posts confirmations or errors back to Slack. How it works Triggers when the workflow’s Slack app is mentioned in a specified Slack channel. Uses Google Gemini to classify the message intent (send invoice, remind invoice, or check status) and extract the recipient email and invoice due date. Routes the request based on the extracted intent and stops if the intent cannot be determined. For SEND_INVOICE, looks up the client in a Google Sheets “Client Bill” spreadsheet and posts a Slack error if no matching email is found. If a client is found, generates an invoice PDF with PdfBro, emails it to the client via Gmail, appends/updates the invoice record in a Google Sheets “Client Invoices” spreadsheet, and posts a Slack confirmation. For REMIND_INVOICE, finds an UNPAID invoice for the email in the “Client Invoices” Google Sheet, regenerates the invoice PDF with PdfBro, emails a reminder via Gmail, and p
Send CRM lead outreach emails with Notion, Gmail, Google Drive and OpenAI
Quick Overview This workflow watches a Notion CRM for leads ready to contact, checks Gmail to avoid duplicate outreach, then sends or drafts an email with Google Drive PDF attachments and updates the lead status in Notion, with bounce detection that marks invalid emails (using OpenAI to extract addresses). How it works Triggers when a lead page is updated in a selected Notion CRM database. Validates that the lead’s Email field looks like an email address and searches Gmail Sent for recent messages to that recipient to detect prior outreach. If the lead was already emailed and the current status is safe to overwrite, it updates the Notion lead status to “Emailed.” If the lead was not previously emailed, it downloads two PDF attachments from Google Drive, converts them to Gmail attachments, and either creates a Gmail draft for specific domains (optionally sending a Twilio SMS to a rep) or sends a generic vs personalized Gmail email based on whether a contact name exists. After sending, it waits briefly, searches Gmail for bounce messages mentioning “Address not found,” and updates the Notion record to “INVALID EMAIL” (or sets “Emailed” when the status indicates the lead is in an acti