by Md Sabirul Islam
๐ฆท Dental Clinic Appointment Booking System (n8n) This project is an automated appointment booking system for a dental clinic, built using #n8n. It helps streamline clinic operations by checking availability, creating events in Google Calendar, and sending email notifications to both the doctor and the patient. โจ Features โ Check available slots before booking โ Create event in Google Calendar after patient confirmation โ Send email notification to the Doctor with appointment details โ Send email confirmation to the Patient with their booking details โ Unique Appointment ID generation for every booking ๐ Live Demo https://devsabirul.github.io/Dental-Clinic-Receptionist-N8n/ ๐ Tech Used n8n.io (Automation Platform) Google Calendar API (Manage bookings) SMTP / Gmail (Send email notifications) ๐ Workflow Setup Import Workflow JSON In n8n, go to Workflows โ Import from File. Set Credentials Configure Google Calendar API Credentials in n8n. Configure Email SMTP / Gmail Credentials for sending emails. Update Clinic Info Replace placeholder Doctorโs email with the real email. Customize messages (email subject, body). ๐ง Example Email Sent To Doctor: New Appointment Booked Patient: John Doe Phone: +123456789 Email: john@example.com Date: 31st August 2025 Time: 2:15 PM Appointment ID: APT-20250831-ABCD12 To Patient: Hello John Doe, Your appointment has been successfully booked. ๐ Date: 31st August 2025 ๐ Time: 2:15 PM ๐ Appointment ID: APT-20250831-ABCD12 Thank you, Dental Clinic ๐ Tags #n8n #automation #dentalclinic #calendar #appointment ๐ Author ๐จโ๐ป Developed by MD Sabirul Islam
by Daniel Rosehill
Who's it for This workflow is perfect for individuals, small businesses, or households who need to: Automatically process and categorize expense receipts Extract structured data from invoices and receipts using AI Store receipts in multiple locations (Google Drive and S3) Send automated email notifications with expense details Send documents to accounting systems via email hooks How it works This comprehensive expense processing workflow combines AI-powered document analysis with automated file management and notifications. Here's the complete flow: Form Submission: Users submit expenses through a web form with receipt upload and category selection (Personal, Business, or Shared/Home) AI Document Processing: The workflow extracts text from PDF receipts using OCR, then uses Google Gemini AI to parse and structure the data into a standardized JSON format including vendor details, amounts, dates, and categorization Smart Routing: Based on the expense category, receipts are automatically routed to different processing paths with category-specific folder organization Multi-Destination Storage: Receipts are uploaded to: Google Drive (organized by year/month folders) S3 cloud storage buckets Different destinations based on expense type Email Notifications: Sends formatted HTML email notifications with complete expense details and links to stored receipts Accounting System Integration: Automatically forwards business expenses to accounting systems via email hooks (customizable per user requirements) Requirements Credentials needed: Google Gemini API**: For AI-powered document analysis Google Drive OAuth2**: For personal and business drive access Gmail OAuth2**: For sending email notifications S3 Storage**: For cloud backup (AWS S3, Wasabi, etc.) Services used: Google Drive (multiple accounts supported) Google Gemini AI Gmail S3-compatible storage Form trigger webhook How to set up Step 1: Configure Credentials Set up Google Gemini API credentials in n8n Configure Google Drive OAuth2 for both personal and business accounts Add Gmail OAuth2 credentials Set up S3 storage credentials Step 2: Update Configuration Replace all placeholder values: YOUR_GEMINI_CREDENTIAL_ID with your Gemini credential ID YOUR_PERSONAL_GDRIVE_CREDENTIAL_ID with personal Drive credential YOUR_BUSINESS_GDRIVE_CREDENTIAL_ID with business Drive credential YOUR_GMAIL_CREDENTIAL_ID with Gmail credential YOUR_S3_CREDENTIAL_ID with S3 credential Update Google Drive folder structure: Replace YOUR_BUSINESS_DRIVE_ID and YOUR_SHARED_DRIVE_ID with actual drive IDs Update the JavaScript code in the three Code nodes with your actual folder mapping Configure email addresses: Replace user@example.com with your notification email Replace receipts@paperless-service.com with your accounting system's email hook (this is a mail hook for uploading documents to small business accounting systems - can be modified per user requirements) Update S3 bucket names: Replace business-expenses, personal-expenses, and shared-expenses with your bucket names Step 3: Set Up Folder Structure Create organized folder structures in your Google Drives: Drive Root/ โโโ 2024/ โ โโโ January/ โ โโโ February/ โ โโโ ... (all months) โโโ 2025/ โ โโโ January/ โ โโโ ... (all months) โโโ 2026/ โโโ ... (all months) Step 4: Test the Workflow Activate the workflow Submit a test expense through the form Verify files are uploaded to correct locations Check email notifications are received How to customize the workflow Expense Categories Modify the form dropdown options and conditional logic to add/remove expense categories: Edit the "On form submission" node form fields Update the IF condition nodes for routing Add new processing paths as needed AI Processing Schema Customize the structured output parser schema to extract different fields: Modify the JSON schema in the "Structured Output Parser" node Update the AI system prompt for different extraction requirements Add new fields for specific business needs Storage Destinations Add or modify storage locations: Duplicate upload nodes for additional cloud services Modify folder organization logic in Code nodes Add new conditional routing for different storage rules Email Templates Customize the HTML email template: Edit the email message content in the Gmail node Add/remove expense fields in the table Modify styling and branding Folder Organization Update the JavaScript code in Code nodes to match your folder structure: Modify the CSV data with your actual folder IDs Change the date-based organization logic Add custom folder naming conventions Integration Extensions Extend the workflow with additional integrations: Add Slack notifications Connect to accounting software (QuickBooks, Xero) Integrate with expense management platforms Add approval workflows for business expenses
by Abdul Mir
Overview This workflow auto-generates a personalized research report on any prospect who books a call with youโusing their LinkedIn profile and advanced web research. When a call is booked in your calendar, the system looks up the leadโs LinkedIn URL from a Google Sheets database. That profile is then scraped using Relevance AI to extract posts, experiences, and education. It also runs a deep-dive query on the person using Perplexity to uncover relevant news, insights, and context. This structured data is passed to an AI model that produces a clean profile summary, suggested pain points, and solution ideas. Finally, the system builds and sends you a fully formatted HTML report via emailโready to review before your meeting. Whoโs it for Founders taking high-stakes sales calls SDRs/BDRs booking back-to-back meetings Agencies and consultants who want to personalize discovery calls Teams doing high-touch enterprise sales or B2B outreach How it works Triggered when a new call is booked via Cal.com Finds matching LinkedIn URL from a local database (Google Sheets) Scrapes public LinkedIn data via Relevance AI Runs a Perplexity query on the prospect for deeper context Formats the scraped data using Code nodes Sends structured info to AI to generate: A company + person profile Suggested pain points and solutions Formats everything into a clean HTML report Emails you the final summary to prep for the call Example use case > Someone books a call. You receive a report 2 minutes later in your inbox with: > - Their role, company, and latest posts > - What their business does > - Recent news and context from Perplexity > - Predicted pain points and how you might help > > You show up to the call prepped and ready How to set up Connect your Cal.com trigger (or replace with any booking tool) Set up your Google Sheet(s) with contact info + LinkedIn profiles Add Relevance AI API key and configure LinkedIn scraping (they have free credits) Link Perplexity API for web research Customize the AI prompts and report formatting Connect Gmail or preferred email provider to send reports Requirements Cal.com or other booking platform Google Sheets for lead storage Relevance AI account and API access Perplexity API key OpenAI or similar LLM for summarization Email integration (e.g. Gmail) How to customize Replace Cal.com with Calendly, SavvyCal, etc. Change AI prompt tone and structure of the report Add CRM push (e.g. log into HubSpot, Notion, or Airtable) Add Slack or Telegram notifications for call alerts Format reports as PDF instead of HTML for download
by Yusuke Yamamoto
This n8n template demonstrates how to use AI to fully automate the generation and scheduling of X (formerly Twitter) content based on a specific, predefined persona. Use cases are many: It's perfect for social media marketers looking to streamline content creation, individual experts building a consistent brand voice, or businesses aiming to drive traffic to specific services with a steady stream of relevant content. Good to know The AI model used in this workflow (via OpenRouter) requires an API key and will incur costs based on usage (typically a few cents per generation). The Blotato node used for posting is a third-party community node and requires a separate Blotato account. How it works This workflow is divided into two main processes: Content Generation and Content Posting. Content Generation Process: A Schedule Trigger kicks off the workflow every 4 hours. An AI Agent (LangChain) generates a post based on a detailed prompt defining a persona, purpose, and rules. A Code node refines the AI's output, ensuring the text ends naturally. The generated post is then saved to a Google Sheet with a "Not Posted" status, creating a content queue. Content Posting Process: The workflow retrieves one "Not Posted" item from the Google Sheet. An IF node checks the post's category to determine if an image is required. If an image is needed, it searches for and retrieves a matching image file from a specified Google Drive folder. The Blotato node posts the text (and image, if applicable) to the designated X (Twitter) account. A confirmation email is sent via Gmail to notify stakeholders of the successful post. Finally, the Google Sheet status is updated to "Completed" to prevent duplicate posts. How to use You can test the workflow anytime using the manual trigger. For production, adjust the posting frequency in the "Trigger: Every 4 Hours" node. The quality of the generated content is determined by the prompt. Edit the system message within the "AI: Generate X Post Content" node to customize the persona, purpose, tone of voice, etc. To generate posts with images, you must upload image files to the specified Google Drive folder. The filename must exactly match the post's category name (e.g., Evidence-based_Graph.png). Requirements An OpenRouter account (or another AI service account) for the LLM. A Blotato account for social media posting. A Google account for content management, image storage, and notifications (Sheets, Drive, Gmail). Customising this workflow Expand the workflow to post to other social media platforms supported by Blotato, such as Facebook or LinkedIn. Instead of posting immediately, add a human-in-the-loop approval step by sending the AI-generated draft to Slack or email for review before publishing. Replace the Schedule Trigger with a Webhook Trigger to generate and post relevant content based on external events, such as "when a new blog post is published."
by Lucas Peyrin
How it works This workflow automates your initial hiring pipeline by creating an AI-powered CV scanner. It collects job applications through a web form, uses AI to analyze the candidate's CV against your job description, and neatly organizes the results in a Google Sheet. Hereโs the step-by-step process: The Application Form:** A Form Trigger provides a public web form for candidates to submit their name, email, and CV (as a PDF). Initial Logging:** As soon as an application is submitted, the candidate's name and email are added to a Google Sheet. This ensures every applicant is logged, even if a later step fails. CV Text Extraction:* The workflow uses *Mistral's OCR** model to accurately extract all the text from the uploaded CV PDF. AI Analysis:* The extracted text is sent to *Google Gemini**. A detailed prompt instructs the AI to act as a hiring assistant, scoring the CV against the specific requirements of your job role and providing a detailed explanation for its score. Structured Output:** A JSON Output Parser ensures the AI's analysis is returned in a clean, structured format, making the data reliable. Final Record:** The AI-generated qualification score and explanation are added to the candidate's row in the Google Sheet, giving you a complete, analyzed list of applicants. Set up steps Setup time: ~15 minutes You'll need API keys for Mistral and Google AI, and to connect your Google account. Get Your Mistral API Key: Visit the Mistral Platform at console.mistral.ai/api-keys. Create and copy your API key. In the workflow, go to the Extract CV Text node, click the Credential dropdown, and select + Create New Credential. Paste your key into the API Key field and Save. Get Your Google AI API Key: Visit Google AI Studio at aistudio.google.com/app/apikey. Click "Create API key in new project" and copy the key. In the workflow, go to the Gemini 2.5 Flash Lite node, click the Credential dropdown, and select + Create New Credential. Paste your key into the API Key field and Save. Connect Your Google Account: Select the Create 'CVs' Spreadsheet node. Click the Credential dropdown and select + Create New Credential to connect your Google account. Repeat this for the Log Candidate Submission and Add CV Analysis nodes, selecting the credential you just created. Create Your Spreadsheet: Click the "play" icon on the Start Here node to run it. This will create a new Google Sheet in your Google Drive named "CVs" with the correct columns. Customize the Job Role: Go to the AI Qualification node. In the Text parameter, find the job_requirements section and replace the example job description with your own. Be as detailed as possible for the best results. Start Screening! Activate the workflow using the toggle at the top right. Go to the Application Form node and click the "Open Form URL" button. Fill out the form with a test application and upload a sample CV. Check your Google Sheet to see the AI's analysis appear within moments
by Dr. Firas
๐ฅ Viral TikTok Video Machine: Auto-Create Videos with Your AI Avatar ๐ฏ Who is this for? This workflow is for content creators, marketers, and agencies who want to use Veed.ioโs AI avatar technology to produce short, engaging TikTok videos automatically. Itโs ideal for creators who want to appear on camera without recording themselves, and for teams managing multiple brands who need to generate videos at scale. โ๏ธ What problem this workflow solves Manually creating videos for TikTok can take hours โ finding trends, writing scripts, recording, and editing. By combining Veed.io, ElevenLabs, and GPT-4, this workflow transforms a simple Telegram input into a ready-to-post TikTok video featuring your AI avatar powered by Veed.io โ speaking naturally with your cloned voice. ๐ What this workflow does This automation links Veed.ioโs video-generation API with multiple AI tools: Analyzes TikTok trends via Perplexity AI Writes a 10-second viral script using GPT-4 Generates your voiceover via ElevenLabs Uses Veed.io (Fabric 1.0 via FAL.ai) to animate your avatar and sync the lips to the voice Creates an engaging caption + hashtags for TikTok virality Publishes the video automatically via Blotato TikTok API Logs all results to Google Sheets for tracking ๐งฉ Setup Telegram Bot Create your bot via @BotFather Configure it as the trigger for sending your photo and theme Connect Veed.io Create an account on Veed.io Get your FAL.ai API key (Veed Fabric 1.0 model) Use HTTPS image/audio URLs compatible with Veed Fabric Other APIs Add Perplexity, ElevenLabs, and Blotato TikTok keys Connect your Google Sheet for logging results ๐ ๏ธ How to customize this workflow Change your Avatar:* Upload a new image through Telegram, and *Veed.io** will generate a new talking version automatically. Modify the Script Style:** Adjust the GPT prompt for tone (educational, funny, storytelling). Adjust Voice Tone:* Tweak *ElevenLabs** stability and similarity settings. Expand Platforms:** Add Instagram, YouTube Shorts, or X (Twitter) posting nodes. Track Performance:** Customize your Google Sheet to measure your most successful Veed.io-based videos. ๐ง Expected Outcome In just a few seconds after sending your photo and theme, this workflow โ powered by Veed.io โ creates a fully automated TikTok video featuring your AI avatar with natural lip-sync and voice. The result is a continuous stream of viral short videos, made without cameras, editing, or effort. โ Import the JSON file in n8n, add your API keys (including Veed.io via FAL.ai), and start generating viral TikTok videos starring your AI avatar today! ๐ฅ Watch This Tutorial ๐ Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube
by Khairul Muhtadin
Say goodbye to endless applications and hello to more time for perfecting your interview skills! The JOB Hunter Agent uses the power of Google Gemini and SerpAPI to find the perfect job match and generate a personalized cover letter. Result example: ๐ก Why Use JOB Hunter Agent? Save Precious Time: Stop sifting through countless job boards; this agent does the heavy lifting, saving you hours every week. Land Your Dream Job Faster: Get laser-focused job matches and a custom-crafted cover letter that speaks directly to the hiring manager, increasing your chances of getting noticed. Never Miss an Opportunity: Your personal AI assistant works 24/7, ensuring you're always on top of the latest openings, even while you sleep! Stand Out from the Crowd: A perfectly tailored cover letter generated on the fly gives you an edge over generic applications, making you look like a superstar. โก Perfect For Job Seekers: Anyone actively looking for a new role who wants to streamline their application process. Busy Professionals: Those with limited time who need an efficient way to find relevant opportunities. Career Changers: Individuals exploring new industries who need a helping hand in crafting compelling applications. ๐ง How It Works โฑ Trigger: You submit your CV and job preferences through a simple n8n form. ๐ Process: Your CV is extracted from the PDF, and your preferences (location, job type, salary, email) are neatly organized. ๐ค Smart Logic: The "Job Hunter Agent" uses Google Gemini and SerpAPI to find the single best job match for you and then drafts a bespoke cover letter based on your CV and the job description. It's like magic, but with more code! ๐ Output: A beautifully formatted HTML email containing your profile summary, the best job match, your personalized cover letter, and handy application tips is sent straight to your inbox. ๐ Storage: All the initial data from your form submission is processed and used to craft your perfect job application package. ๐ Quick Setup Import JSON file to your n8n instances Add credentials: Google Gemini (Gemini 2.5 Pro model) and SerpAPI Customize: Adjust the system prompt in the "Job Hunter Agent" to fine-tune the cover letter tone or length, update the email footer, and expand job filters. Update: Ensure your Gmail OAuth2 credentials are valid for sending emails. Test: Run the workflow with your own CV and preferences to see the magic happen! ๐งฉ You'll Need Active n8n instances Google Gemini API key (for Gemini 2.5 Pro) SerpAPI account for Google Jobs search results A Gmail account for sending personalized job match emails ๐ ๏ธ Level Up Ideas Integrate with LinkedIn, Jobstreet, or Indeed APIs for a wider range of job sources. Allow the agent to find multiple job matches and present them as a curated list. Add an option to attach a parsed CV summary as a PDF to the email for quick reference. Made by: khaisa Studio Tags: AI, Gemini, Google Jobs, Job Search, Automation, Cover Letter Category: job hunter Need custom work? Contact me
by Ketan Sharma
This n8n template demonstrates a complete AI-driven content pipeline for social media. It automatically generates captions and hashtags for new product images, collects human approval via Telegram, and publishes approved content to Twitter. Itโs ideal for marketers, e-commerce businesses, and creators who want to speed up content creation while keeping human oversight. How it works Trigger: The workflow starts when a new file is added to a specific Google Drive folder. File Analysis: The image is processed to extract product information. AI Captioning: Gemini generates a caption and five relevant hashtags based on the product. Telegram Approval: The image, caption, and hashtags are sent to the user for approval. โ If approved โ The content is posted to Twitter and a confirmation is sent back via Telegram. ๐ If regenerate โ Gemini creates a new caption and hashtags, and the approval loop repeats. โ If discard โ A message is sent on Telegram and the workflow ends. Requirements Google Drive account Gemini API credentials for captioning and hashtags Telegram bot for approvals Twitter Developer Account with API credentials Customising this workflow Swap Google Drive with Dropbox, Notion, or Airtable as the content source. Extend publishing to LinkedIn, Instagram, or multiple platforms. Add multi-user approval flows in Telegram for team-based decisions.
by Trung Tran
TalentFlow AI โ Bulk Resume Screening with JD Matching Automatically extract, evaluate, and shortlist multiple resumes against a selected job description using GPT-4. This smart, scalable n8n workflow helps HR/TA teams streamline hiring decisions while keeping results structured, auditable, and easy to share. ๐ค Whoโs it for This workflow is designed for: HR or Talent Acquisition (TA) teams handling multiple candidates per role Recruiters who want AI-assisted resume screening to save time and reduce bias Organizations that want to automatically log evaluations and keep stakeholders updated in real-time via Slack or Sheets โ๏ธ How it works / What it does HR/TA uploads multiple candidate resumes and selects a job role Each resume is: Uploaded to Google Drive Parsed with GPT-4 to extract structured profile data The job description for the selected role is: Retrieved from Google Sheets Downloaded from Drive and parsed The profile + JD are sent to an AI agent to generate: Fit score Strengths & gaps Final recommendation Results are: Appended to the evaluation tracking sheet Optionally shared with the hiring team on Slack Used to trigger emails to qualified or unqualified candidates ๐ ๏ธ How to set up Clone or import the workflow into your n8n instance Connect your integrations: Google Sheets (positions & evaluation form) Google Drive (CV & JD folders) OpenAI API (GPT-4) Slack (for notifications) (Optional) SendGrid or SMTP for email notifications Update Google Sheets structure: Positions sheet: maps Job Role โ JD file link Evaluation form: stores evaluation results Prepare Drive folders: /cv folder for uploaded resumes /jd folder for job description PDFs ๐ Requirements โ n8n (hosted or self-hosted) โ OpenAI GPT-4 account (used in Profile & JD evaluator agents) โ Google Drive + Google Sheets access โ Slack workspace + bot token (Optional) SendGrid or email credentials for candidate follow-up ๐จ How to customize the workflow Change the fit score threshold in the Candidate qualified? node Edit Slack message content/formatting to match your company tone Add additional candidate metadata to Sheets or Slack messages Use a webhook trigger to integrate with your ATS or job board Swap GPT-4 with Claude or Gemini if you prefer other AI services Expand to include multi-position batch screening logic Happy Hiring! ๐ Automated with love using n8n
by Khairul Muhtadin
Automatically extract job listings from any website URL, format them with AI, and publish directly to WordPress. Just send a URL via Telegram, and watch as the workflow scrapes the job details, enhances the content with GPT, and creates a polished post on your site. ๐ก Why Use Job Repost? โฐ Save countless hours Automatically extract, process, and publish job offers from any website, freeing your time from repetitive tasks. โ Eliminate human errors Say goodbye to typos and missed fields โ every job post is validated before going live. ๐ Boost engagement Fresh, well-structured job listings attract more candidates, improving your site's reach and authority. ๐ Stay ahead Leveraging AI with GPT means your content is not just automated but polished and SEO-friendly โ the digital assistant you never knew you needed. โก Perfect For Job board managers:** Want to aggregate listings from multiple sources with minimal effort Recruiters & HR teams:** Who need to streamline job posting workflows without technical hassles Content creators & marketers:** Looking to automate publishing while maintaining style and SEO standards ๐ง How It Works | Step | Process | Description | |------|---------|-------------| | ๐ฑ | Trigger | Send a job URL via Telegram bot to initiate the process | | ๐ฅ | Extract | Firecrawl API scrapes and extracts clean content from the provided URL | | ๐ | Process | Job data is extracted via AI, text split and cleaned, job categories and types mapped to your system | | ๐ค | Smart Logic | GPT crafts formatted job posts, intelligent validation ensures all key data is present, default values fill in the blanks if necessary | | ๐ | Output | Posts automatically published to WordPress with company logos uploaded, and success or error notifications sent via Telegram | | ๐ | Storage | Uses Supabase vector store for managing document embeddings, ensuring quick lookup and reference compliance | ๐ Quick Setup Import the provided JSON file into your n8n instances Add credentials: Firecrawl API key Google Drive OAuth2 (for RAG storage) OpenAI API WordPress API Telegram API Supabase Customize: Telegram bot token WordPress URLs Default images and category mappings if needed Update: URLs and API tokens where placeholders are used Test: Send a job URL to your Telegram bot to verify accurate extraction and posting ๐งฉ You'll Need โ Active n8n instances โ Firecrawl account with API access โ Google Drive account for RAG document storage โ OpenAI account with GPT API access โ WordPress site with autojob plugin and API enabled โ Telegram bot for URL submission and notifications โ Supabase account for vector store management ๐ ๏ธ Level Up Ideas ๐ Add multi-language support to expand global reach ๐ Support batch URL processing for multiple jobs at once ๐ฌ Integrate Slack or email notifications for wider team alerts ๐ฏ Use more AI nodes to summarize or rate job offers for quality control ๐ Schedule periodic cleanup of vector store for performance optimization ๐ Add analytics tracking for published jobs performance ๐ง Nodes Used Core Components: Firecrawl HTTP Request** (Web scraping and content extraction) Google Drive** (RAG document storage) Supabase Vector Store** OpenAI** (Embeddings, GPT Extraction) Code Nodes** for mapping categories Telegram Trigger & Message** HTTP Request** (for WordPress API and image uploads) Made by: Khaisa Studio Tags: automation recruitment job-posting wordpress AI web-scraping firecrawl Category: Human Resources, Recruitment, Wordpress, Scrapping Need a custom? contact me on LinkedIn or Web
by Derek Cheung
How it works: This project teaches you to create a personal AI assistant named Jackie that operates through Telegram. Jackie can summarize unread emails, check calendar events, manage Google Tasks, and handle both voice and text interactions. The assistant provides a comprehensive digital life management solution accessible via Telegram messaging. Key Features: Supports hands-free voice interaction Maintains conversation memory Integrates with major Google services Provides personalized assistance for email management, scheduling, and task organization Step-by-step: Telegram Trigger: The workflow starts with a Telegram trigger that listens for incoming message events. The system determines if the incoming message is voice or text input. Voice Processing: If a voice message is received, the workflow retrieves the voice file from Telegram and uses OpenAI's transcription API to convert speech to text. AI Assistant: The processed text (whether original text or transcribed voice) is passed to Jackie, the AI assistant powered by OpenRouter's language model. Tools Integration: Jackie is equipped with several productivity tools: Get Email: Uses Gmail API to fetch unread emails from the inbox with sender, date, subject, and summary information Google Calendar: Retrieves calendar events for specified dates, filtering out irrelevant future events Google Tasks: Both creates new tasks and retrieves existing tasks from Google Tasks lists API Keys Required: Telegram Bot API: Create a bot via @BotFather on Telegram to get your bot token OpenAI API: Required for voice-to-text transcription OpenRouter API: Powers the AI language model responses Google OAuth2: Needed for Gmail, Google Calendar, and Google Tasks integration Response Generation: The AI formulates intelligent responses based on the gathered information, current date context, and conversation history, then sends the response back to the user via Telegram in Markdown format.
by Trung Tran
Decodo Scraper API Workflow Template (n8n Automation Amazon Book Purchase Report) Watch the demo video below: > This workflow demos how to use Decodo Scraper API to crawl any public web page (headless JS, device emulation: mobile/desktop/tablet), extract structured product data from the returned HTML, generate a purchase-ready report, and automatically deliver it as a Google Doc + PDF to Slack/Drive. Whoโs it for Creators / Analysts** who need quick product lists (books, gadgets, etc.) with prices/ratings. Ops & Marketing teams** building weekly โtop picksโ reports. Engineers** validating the Decodo Scraper API + LLM extraction pattern before scaling. How it works / What it does Trigger โ Manually run the workflow. Edit Fields (manual) โ Provide inputs: targetUrl (e.g., an Amazon category/search/listing page) deviceType (desktop | mobile | tablet) Optional: maxItems, notes, reportTitle, reportOwner Scraper API Request (HTTP Request โ POST) Calls Decodo Scraper API with: URL to crawl, headless JS enabled Device emulation (UA + viewport) Optional waitFor / executeJS to ensure late-loading content is captured HTML Response Parser (Code/Function or HTML node) Pulls the HTML string from Decodo response and normalizes it (strip scripts/styles, collapse whitespace). Product Analyzer Agent (LLM + Structured Output Parser) Prompts an LLM to extract structured โbookโ objects from the HTML: The Structured Output Parser enforces a strict JSON schema and drops malformed items. Build ๐ Book Purchase Report (Code/LLM) Converts the JSON array into a Markdown (or HTML) report with: Executive summary (top picks, average price/rating) Table of items (rank, title, author, price, rating, link) โRecommended to buyโ shortlist (rules configurable) Notes / owner / timestamp Configure Google Drive Folder (manual) Choose/create a Drive folder for output artifacts. Create Document File (Google Docs API) Creates a Doc from the generated Markdown/HTML. Convert Document to PDF (Google Drive export) Exports the Doc to PDF. Upload report to Slack Sends the PDF (and/or Doc link) to a chosen Slack channel with a short summary. How to set up 1 Prerequisites n8n** (self-hosted or Cloud) Decodo Scraper API** key OpenAI (or compatible) API key** for the Analyzer Agent Google Drive/Docs** credentials (OAuth2) Slack** Bot/User token (files:write, chat:write) 2 Environment variables (recommended) DECODO_API_KEY OPENAI_API_KEY DRIVE_FOLDER_ID (optional default) SLACK_CHANNEL_ID 3 Nodes configuration (high level) Edit Fields (Set node) Scraper API Request (HTTP Request โ POST) HTML Response Parser (Code node) Product Analyzer Agent Build Book Purchase Report (Code/LLM) Create Document File Convert to PDF Upload to Slack Requirements Decodo**: Active API key and endpoint access. Be mindful of concurrency/rate limits. Model**: GPT-4o/4.1-mini or similar for reliable structured extraction. Google**: OAuth client (Docs/Drive scopes). Ensure n8n can write to the target folder. Slack**: Bot token with files:write + chat:write. How to customize the workflow Target site: Change targetUrl to any **public page (category, search, or listing). For other domains (not Amazon), tweak the LLM guidance (e.g., price/label patterns). Device emulation**: Switch deviceType to mobile to fetch mobile-optimized markup (often simpler DOMs). Late-loading pages**: Adjust waitFor.selector or use waitUntil: "networkidle" (if supported) to ensure full content loads. Client-side JS**: Extend executeJS if you need to interact (scroll, click โnextโ, expand sections). You can also loop over pagination by iterating URLs. Extraction schema**: Add fields (e.g., discount_percent, bestseller_badge, prime_eligible) and update the Structured Output schema accordingly. Filtering rules**: Modify recommendation logic (e.g., min ratings count, price bands, languages). Report branding**: Add logo, cover page, footer with company info; switch to HTML + inline CSS for richer Docs formatting. Destinations**: Besides Slack & Drive, add Email, Notion, Confluence, or a database sink. Scheduling: Add a **Cron trigger for weekly/monthly auto-reports.