Back to Catalog
Atta

Atta

Hi πŸ‘‹ I design automation workflows with n8n, AI, and custom APIs. My focus is on building reliable systems that save time and boost productivity. Always happy to answer questions about my templates.

Total Views6,525
Templates10

Templates by Atta

Smart LinkedIn job filtering with Google Gemini, CV matching, and Google Maps

What it does The job search process is filled with manual, frustrating tasksβ€”reading endless job descriptions only to find the seniority is wrong, the role requires a language you don't speak, or a "hybrid" job has an impossible commute. This workflow acts as a personal AI assistant that automates the entire top of your job search funnel. It doesn't just find jobs; it reads the full description, checks the commute time from your home, filters by your specific criteria, and even compares the job requirements against your CV to calculate a match score. It's a personalized, decision-making engine that only alerts you to the opportunities that are a perfect fit. How it works The workflow is designed to be fully customized from a single Config node and runs in a multi-layered sequence to find and qualify job opportunities. Scrape Jobs: The workflow triggers and uses Apify to find new job postings on LinkedIn based on a list of keywords you define (e.g., "AI Workflow Engineer," "Automation Specialist"). AI Triage & Smart Filtering: For each job found, a Google Gemini AI performs an initial triage, extracting key data like the job's language, work model (Remote, Hybrid, On-site), and seniority level. The workflow then applies a series of smart filters based on your personal preferences: Language & Seniority: It discards any jobs that don't match your target language and experience level. Commute Check: For hybrid or on-site roles, it uses the Google Maps API to calculate the commute time from your home address and filters out any that exceed your maximum desired travel time. AI Deep Analysis vs. CV: For the handful of jobs that pass the initial filters, a second, more advanced Google Gemini agent performs a deep analysis. It compares the job description against your personal CV (which you paste into the config) to generate a summary, a list of key required skills, and a final match score (e.g., 8/10). Log & Alert: The final step is action. The full analysis of every qualified job is logged in a Supabase database for your records. However, only jobs with a match score above your set threshold will trigger an immediate, detailed alert in Telegram, ensuring you only focus on the best opportunities. Setup Instructions This workflow is designed for easy setup, with most personal preferences controlled from a single node. Required Credentials Apify: You will need an Apify API Token. Google Cloud: You will need credentials for a Google Cloud project with the Google AI (Gemini) and Google Maps APIs enabled. Supabase: You will need your Supabase Project URL and Service Role Key. Telegram: You will need a Telegram Bot Token and the Chat ID for the channel where you want to receive alerts. Step-by-Step Configuration Almost all customization is done in the Config node. Open it and set the following parameters to match your personal job search criteria: MyCV: Paste the full text of your CV/resume here. This is used by the AI to compare your skills against the job requirements. JobKeywords: Search keywords for jobs (e.g., "engineer", "product manager"). JobsToScrape: The maximum number of relevant job postings to scrape in each run. HomeLocation: Your home city and country (e.g., "Breda, Netherlands"). This is used as the starting point for calculating commute times for hybrid or onsite jobs. MaxCommuteMinutes: Your personal maximum one-way commute time in minutes. The workflow will filter out any jobs that require a longer travel time. TargetLanguage: Your preferred language for job postings. The workflow will filter out any jobs not written in this language. You can list multiple languages, separated by a comma. ExperienceLevel: The seniority level you are looking for. The AI will validate this against the job description. The value can be: "" β†’ (Any) "internship" β†’ (Internship) "entry" β†’ (Entry Level) "associate" β†’ (Associate) "mid_senior" β†’ (Mid-Senior Level) "director" β†’ (Director) "executive" β†’ (Executive) Under10Applicants: Set to true if you only want to see jobs with fewer than 10 applicants. Set to false to see all jobs. After setting up the Config node, configure the Supabase and Telegram nodes with your specific credentials and table/chat details. How to Adapt the Template This workflow is a powerful framework for any search and qualification process. Change Job Source: Swap the Apify node to scrape different job boards, or use an RSS Feed Reader node to get jobs from sites that provide feeds. Refine AI Logic: The prompts in the two Google Gemini nodes are the core of the engine. You can edit them to extract different data points, change the scoring criteria, or even ask the AI to evaluate a company's culture based on the tone of the job description. Change the Database: Replace the Supabase node with Airtable, Google Sheets, or a traditional database node like Postgres to log your results. Modify Alerts: Change the Telegram node to send alerts via Slack, Discord, or Email. You could also add a step to automatically create a draft application or add the job to a personal CRM.

AttaBy Atta
2308

Automated YouTube video to blog post conversion with Gemini AI transcription

This workflow automatically turns any YouTube video into a structured blog post with Gemini AI. By sending a simple POST request with a YouTube URL to a webhook, it downloads the video’s audio, transcribes the content, and generates a blog-ready article with a title, description, tags, and category. The final result, along with the full transcript and original video URL, is delivered to your chosen webhook or CMS. How it works: The workflow handles the entire process of transforming YouTube videos into complete blog posts using Gemini AI transcription and structured text generation. Once triggered, it: Downloads the video’s audio Transcribes the spoken content into text Generates a blog post in the same language as the video’s original language Creates: A clear and engaging title A short description Suggested category and tags The full transcript of the video The original YouTube video URL This makes it easy to repurpose video content into publish-ready articles in minutes. This template is ideal for content creators, marketers, educators, and bloggers who want to quickly turn video content into written posts without manual transcription or editing. Setup Instructions Install yt-dlp on your local machine or server where n8n runs. This is required to download YouTube audio. Get a Google Gemini API key and configure it in your AI nodes. Webhook Input Configuration: Endpoint: The workflow starts with a Webhook Trigger. Method: POST Example Request Body: { "videoUrl": "https://www.youtube.com/watch?v=lW5xEm7iSXk" } Configure Output Webhook: Add your target endpoint in the last node where the blog post JSON is sent. This could be your CMS, a Notion database, or another integration. Customization Guidance Writing Style: Update the AI Agent’s prompt to adjust tone (e.g., casual, professional, SEO-optimized). Metadata: Modify how categories and tags are generated to fit your website’s taxonomy. Integration: Swap the final webhook with WordPress, Ghost, Notion, or Slack to fit your publishing workflow. Transcript Handling: Save the full transcript separately if you also want searchable video archives.

AttaBy Atta
1652

Support call analysis & routing with Gemini AI, ElevenLabs & Telegram alerts

What it does Customer support calls contain a wealth of valuable feedback and urgent issues, but manually reviewing audio files is inefficient. This workflow acts as an AI assistant for your call log, transforming unstructured audio recordings into structured, actionable data. It provides a clean summary, sentiment analysis, and a list of required actions for every call, eliminating the need for manual listening and ensuring key insights are never missed. How it works The workflow runs on a schedule to fully automate the call analysis process from start to finish. Fetch New Recordings: The workflow triggers on a schedule (e.g., every 5 minutes), searches a designated Google Drive folder for new call recordings, and downloads any new files it finds. Transcribe Audio: Each audio file is sent to the ElevenLabs API to be converted from speech to a text transcript. The result is then formatted into a conversational, multi-speaker format. AI-Powered Analysis: The transcript is passed to a Google Gemini node, which is prompted to return a structured JSON object. This JSON contains a complete analysis of the call, including speaker identification (agentname, clientname), a summary, the clientsentiment, a calltopic, a departmenttag, and a list of actionitems. Log the Results: The complete, structured analysis output from Gemini is appended as a new row in a Google Sheet, creating a centralized log with all the extracted call details and the full transcript. Take Action: The workflow uses conditional logic based on the detected sentiment: Negative Sentiment: If a call was negative, an immediate alert containing the call summary and action items is sent to a manager's group on Telegram. Positive Sentiment: If a call was positive, a kudos message is sent to the support team's Telegram channel to celebrate good work. File Management: After processing, the original audio file is automatically moved to a separate "Processed" folder in Google Drive to ensure it isn’t analyzed again. Setup Instructions To configure this workflow, you will need to set up your file storage in Google Drive, create a Google Sheet for logging, and configure credentials for all connected services. Required Credentials Google: You will need Google OAuth2 credentials that have permission for Google Drive, Google Sheets, and the Google AI (Gemini) APIs. ElevenLabs: Sign up for an account at ElevenLabs and get your API Key. You will add this directly into the HTTP Request node for transcription. Telegram: Create a bot using the BotFather in Telegram to get your Bot Token. You will also need the specific Chat ID for the managers' channel and the team's channel. Step-by-Step Configuration Google Drive: Create two folders in your Google Drive: one named "Company - Support Call Recordings" and another named "Processed Recordings". Copy the unique Folder ID from the URL for each and paste it into the respective Google Drive nodes. Google Sheets: Create a new Google Sheet to log the results. In the first row, create the following headers exactly as written: Recording File, Sentiment, Department, Topic, Agent, Client, Summary, Actions, and Fulltext. Copy the Sheet ID from the URL and paste it into the "Log Recording Analysis" (Google Sheets) node. ElevenLabs Node: In the "Convert Speech To Text" (HTTP Request) node, make sure the URL is set to the correct ElevenLabs API endpoint for speech-to-text. Add your ElevenLabs API Key to the authentication header. Telegram Nodes: In the "Send Alert To Managers" node, enter the Chat ID for your managers' group. In the "Send Kudos to Team" node, enter the Chat ID for the main team channel. How to Adapt the Template This workflow is a powerful starting point. Based on your specific needs, you can customize the inputs, the AI analysis, the logging method, and the final actions. Input Method Change File Source: Instead of Google Drive, you can adapt the workflow to fetch recordings from other services like Dropbox, OneDrive, or a custom FTP server. Use a Webhook: Replace the Schedule Trigger with a Webhook Trigger to process calls in real-time as they are added from your call software (if it supports webhooks). Final Actions Create Service Tickets: This is a key area for customization. Replace the Telegram nodes with nodes for ticketing systems. For a negative call, you can automatically create a high-priority ticket in Jira, Zendesk, or ServiceNow. Create Tasks: For calls with specific action items, use a node like Asana, Trello, or Todoist to automatically create a task and assign it to the correct team member. Send Email Notifications: Use the Send Email node to dispatch summaries and alerts to stakeholders who are not on Telegram. Logging and Analysis Log to a Database: Instead of Google Sheets, you can use a Postgres, MySQL, or Data Warehouse node to log the structured data for more advanced business intelligence and dashboarding. Customize the AI Prompt: The prompt in the Google Gemini node is the "brain" of the operation. It specifically instructs the AI to return a JSON object with a predefined structure. To change what data is extracted, you can modify this structure in the prompt. For example, you could add a new key-value pair like "competitor_mentioned": "Name of competitor if mentioned, otherwise null" to the JSON structure. The current workflow asks the AI to populate a JSON object like this: { "speaker_identification": { "agent": "speaker_id", "agent_name": "The agent's name", "client": "client_id", "client_name": "The client's name" }, "summary": "A concise summary.", "client_sentiment": "Positive, Negative, or Neutral", "call_topic": "A brief phrase for the topic.", "department_tag": "The most relevant department.", "action_items": [ "A list of actionable tasks." ] } Change AI or STT Service: You can swap out the Google Gemini node for an OpenAI node, or change the HTTP Request node to use a different transcription service like AssemblyAI or Deepgram.

AttaBy Atta
382

AI-powered feedback triage: Jotform to Trello, Airtable & Slack with Gemini

Turn raw feedback into actionable product insights. This workflow collects feedback from both customers and staff via a single Jotform, uses Gemini AI to analyze and categorize it, then intelligently routes it: Actionable bugs and feature requests become tasks in specific Trello lists, tagged with source and priority. General feedback is logged in a structured Airtable base for later review. Urgent bugs trigger instant Slack alerts for your dev team. An optional confirmation email is sent via Gmail if the submitter provides their address. Stop manually sorting feedback and ensure nothing falls through the cracks. This workflow centralizes input, automates triage, and delivers structured data directly to your product and development teams. Features Unified Feedback Collection: Uses a single Jotform for customers and staff. AI-Powered Triage: Gemini AI categorizes feedback (Bug, Feature Request, General), suggests priority, and extracts keyword tags. Intelligent Filtering: An IF node separates actionable tasks from general comments. Automated Task Creation: Creates Trello cards in specific lists ("Bugs," "Feature Backlog") with relevant labels (Source, Urgent). Structured Logging: Saves all general feedback to an Airtable base for review and trend analysis. Conditional Alerts: Notifies a Slack channel only* for high-priority bugs. Optional Email Confirmation: Sends a thank-you email if the submitter provides their address. Nodes Used 🟣 Jotform Trigger (Jotform Trigger) βœ‰οΈ Gmail (Send Confirmation Email) 🧠 AI Agent (AI Feedback Triage) πŸƒ Trello (Create Trello Card) πŸ“£ Slack (Alert Dev Team) πŸ—‚οΈ Airtable (Log General Feedback to Airtable) πŸ”§ Set, ❓ IF, 🚫 No Operation, do nothing --- How to use this template Follow these steps to configure the workflow with your accounts and specific IDs. Set up Jotform, Trello, and Airtable (CRITICAL) Before starting, you must create the Jotform form, Trello board, and Airtable base exactly as described in the "Required Setup" section at the end of this document. Configure the Jotform Trigger Node Credentials: Connect your Jotform account. Form: Select your "Help us improve IdeaToBiz" form (replace the title with your company name). Resolve Data: Ensure the "Resolve Data" toggle in the node's parameters is turned ON. Configure the Config (Set) Node This node stores your Trello IDs. You must replace the placeholder values. Find Your IDs: Open your Trello board, add .json to the URL, and press Enter. Search the JSON page for your List names ("Bugs," "Feature Backlog") and Label names ("Customer," "Staff," "Other," "Urgent") to find their corresponding "id" values. Action: Paste your unique IDs into the value fields in this node. Configure the Email Provided? (IF) and Send Confirmation Email (Gmail) Nodes IF Node: No configuration needed. Gmail Node: Credentials: Connect your Gmail (or other email service) account. Customize: Edit the Subject and Body to match your company's voice. Configure the AI Feedback Triage Node Credentials: Connect your Google AI (Gemini) credentials. Check Prompt: Ensure the prompt correctly references your feedback field (e.g., {{ $('Jotform Trigger').item.json['Feedback Details'] }}). Check Schema: Ensure the "Structured Output" JSON schema matches the required fields (tasktitle, category, suggestedpriority, tags). Configure the Is it a Bug or Feature? (IF) Node No configuration needed. This node filters based on the AI output. Configure the Create Trello Card Node Credentials: Connect your Trello credentials. Board ID: Select your Product Feedback board. Check Expressions: Verify that the expressions for List ID and Labels correctly pull the IDs from your Config node and data from the AI Feedback Triage and Jotform Trigger nodes. The template should be pre-filled, but double-check node names if you renamed them. Configure the Is it an Urgent Bug? (IF) Node No configuration needed. This checks the AI output before alerting Slack. Configure the Alert Dev Team (Slack) Node Credentials: Connect your Slack credentials. Channel: Select the channel for urgent bug alerts (e.g., dev-alerts). Customize: Edit the message text if desired. Ensure the Trello card URL expression ({{ $('Create Trello Card').item.json.shortUrl }}) is correct. Configure the Log General Feedback to Airtable Node Credentials: Connect your Airtable credentials. Base ID: Select your Product Feedback Log base. Table ID: Select your Feedback Submissions table. Enable Typecast: In the node's Options, ensure the Typecast toggle is ON. This is crucial for allowing n8n to create new tag options in Airtable. Check Field Mappings: Verify that the field mappings correctly reference the AI Feedback Triage and Jotform Trigger nodes. Activate Your Workflow! Once all credentials and IDs are configured, save and activate your workflow. --- How to Adapt the Template Change Task Destination: Replace the Trello node with ClickUp, Asana, Jira, or another task manager. You'll need to adapt the field mappings. Change Logging Destination: Replace the Airtable node with Google Sheets, Notion, or send logs via Email or Discord. Adjust AI Prompt: Modify the prompt in the AI Feedback Triage node to change how feedback is categorized, prioritized, or tagged. Modify Filtering Logic: Change the conditions in the Is it a Bug or Feature? IF node (e.g., maybe you also want "UI/UX Issue" to go to Trello). Refine Alerting: Change the conditions in the Is it an Urgent Bug? IF node or send alerts for different categories (e.g., alert the design team for UI issues). --- Required Setup Jotform Form Setup Create Account: If needed, sign up at Jotform. Create Form: Build a form titled "Help us improve IdeaToBiz" (or similar). Add Fields: Radio Button: Label I am a..., Options Customer, Staff, Other (Required: ON). Email: Label Your Email (Optional) (Required: OFF). Long Text: Label Feedback Details (Required: ON). Submit Button: Label Submit Feedback. Trello Board Setup Create Board: Create a new Trello board named Product Feedback. Create Lists (Columns): Add at least these two lists: Feature Backlog Bugs Create Labels: Go to Menu -> More -> Labels and create: Urgent (Red recommended) Customer (Blue recommended) Staff (Green recommended) Other (Grey recommended) Airtable Base Setup Create Base: Create a new Airtable base named Product Feedback Log. Create Table: Name the table Feedback Submissions. Configure Fields: Rename the primary field (Name) to Feedback Summary (Type: Single line text). Rename Notes to Full Feedback (Type: Long text). Delete Assignee. Rename Status to Source (Type: Single select, Options: Customer, Staff, Other). Add Email field (Type: Email). Add AI Tags field (Type: Multiple select). Add Submitted At field (Type: Created time).

AttaBy Atta
304

Lead qualification and scoring with Jotform, Gemini AI, and Slack

Automate your lead qualification process by connecting Jotform to Gemini AI. This workflow instantly analyzes new form submissions, assigns a priority score, filters out spam, and routes legitimate leads for immediate action. Stop manually sorting through submissions and let your sales team focus on what matters: closing deals with hot leads. This template captures a lead from a "Talk to an Expert" form, uses AI to determine its quality, sends a real-time notification to your sales team on Slack, and automatically sends a tiered, personalized email response to the lead based on their qualification score. Features Automated Spam Filtering: Uses Gemini AI to analyze incoming leads and automatically discard spam. AI-Powered Lead Scoring: Assigns a priority score (1-10) to every legitimate lead based on the content of their inquiry. Instant Team Notifications: Sends a detailed alert for every qualified lead to a designated Slack channel. Tiered Email Responses: Automatically sends a different, personalized email to hot, warm, and cold leads. Seamless Jotform Integration: Triggers the moment a new form is submitted. Nodes Used 🟣 Jotform Trigger: Starts the workflow when a new form submission is received. 🧠 AI Agent / Google AI: Connects to Gemini to analyze the form data. ❓ IF: Filters out submissions flagged as spam. πŸ“£ Slack: Sends a real-time notification to your team. πŸ”€ Switch: Routes the lead down different paths based on its AI-generated score. βœ‰οΈ Gmail: Sends a personalized follow-up email to the lead. ----- How to use this template This workflow is designed to be easy to set up. Follow these steps to get it running: Set up your Jotform Trigger: In the Jotform Trigger node, connect your Jotform account. Select the specific form you want to use for lead capture from the dropdown list. Ensure your form has the required fields as described in the "Required Jotform Fields" section below. Configure the AI Agent / Google AI Node: Connect your Google AI credentials to the node. Ensure the prompt is set up to analyze the message from your form and return a JSON object with isspam (a boolean) and leadscore (an integer) keys. Set up the IF Node: This node should check the is_spam value from the AI node. The workflow should only continue on the false path. Configure the Slack Node: Connect your Slack account credentials. In the "Channel" field, select the channel where you want lead notifications to be sent (e.g., sales-leads). Configure the Switch Node: This node should be set to route based on the lead_score from the AI node. The template is pre-configured with three paths: Hot: Score is 8 or higher. Warm: Score is between 5 and 7. Cold: Score is 4 or lower (the "Default" path). Configure the Gmail Nodes Connect your Gmail account credentials to each of the three Gmail nodes. This step is critical for personalization, and you must adapt the content to fit your business. The provided text is a template; its effectiveness depends on your customization. For each of the three email templates (Hot, Warm, and Cold), be sure to: Update the Email Body: Rewrite the text to match your company's tone and brand voice. Change Company/Team Information: Replace placeholder text like [Your Company Name] and update the signature from The Team to your specific team or company name (e.g., The Sales Team at Acme Corp). Customize Your Links: In the 'Hot' lead email, replace the placeholder [Your Calendly/Booking Link] with your actual link from Calendly, HubSpot Meetings, or another scheduling tool. In the 'Warm' lead email, replace [Link to a resource or case study] with a real link to a relevant blog post, whitepaper, or case study on your website. Activate your Workflow: Once all nodes are configured, save and activate your workflow. Now, every new Jotform submission will be processed automatically\! ----- How to Adapt the Template This workflow is a powerful starting point. Here are a few ideas to customize it for your specific needs: Integrate Your CRM: Add a node for your CRM (like HubSpot, Salesforce, or Pipedrive) after the IF node. You can create or update a contact and a deal, and then include the link to the CRM record directly in the Slack notification for easy access. Use a Different Notification Service: If your team doesn't use Slack, you can easily replace the Slack node with one for Microsoft Teams, Discord, or even a simple email notification. Create Tiered Notifications: For a more advanced setup, use the Switch node's outputs to send notifications to different channels. For example, send "Hot" leads to a high-priority sales-urgent channel with an @channel mention, and send "Warm" or "Cold" leads to a less noisy leads-review channel. Adjust the Scoring Logic: Your definition of a "hot" lead might be different. Simply change the values in the Switch node to match your business rules (e.g., you might consider any score of 7 or higher to be a hot lead). ----- Required Jotform Fields for this Workflow For this template to work correctly, your Jotform should have the following fields. The names in parentheses are the internal field names used in the n8n expressions. Full Name (Full Name): A text input for the user's name, used for personalizing emails. Work Email (Work Email): An email field, used as the recipient for the automated follow-up. Role (Role): A text input for the user's job title, providing context for your sales team. Number of Employees (Number of Employees): A dropdown or number input for company size, used for lead segmentation. How can we help you? (How can we help you?): A text area. This is the most critical field, as its content is sent to the AI for spam checking and lead scoring. ----- More Information About Jotform Jotform is a powerful and easy-to-use online form builder that helps you create and publish online forms without writing a single line of code. It's an excellent tool for capturing leads, conducting surveys, accepting payments, and much more. Its seamless integration capabilities make it a perfect starting point for all kinds of n8n automations. If you don't have an account yet, you can get started with Jotform through the link above.

AttaBy Atta
202

AI-powered price watchdog: competitor monitoring & alerting (Decodo & Gemini)

Never miss a competitor price change again. This advanced workflow automates the most difficult aspect of market monitoring: intelligently extracting structured pricing data from complex, dynamic competitor websites and comparing it against your historical baseline. It sends instant, conditional alerts only when a significant price shift is detected. The workflow uses Decodo for dynamic scraping, Gemini for reliable data parsing, and Google Sheets for robust historical state management. ✨ Key Features AI-Powered Extraction: Uses Gemini 2.5 Flash to analyze raw, noisy website HTML and output a clean JSON array of plan names, prices, and features, bypassing brittle CSS selectors. Historical Comparison: Automatically retrieves the price from the previous workflow run and calculates the percentage difference (diff) for every single plan item. Edge Case Handling: Includes specific code logic to prevent errors and flag crucial events like a "Free-to-Paid" plan transition (division by zero). Conditional Alerting: Sends immediate Slack notifications only when the price change exceeds your predefined percentage threshold. State Management: Uses Google Sheets to automatically shift data (Current Price $\rightarrow$ Old Price) to maintain the historical baseline for the next scheduled execution. βš™οΈ How it Works (The Monitoring Loop) Setup & Sourcing: The workflow is executed on a schedule, defining the global alert threshold and retrieving the list of target URLs from a Google Sheet. Scraping (Dynamic): Decodo runs with JavaScript rendering ON to fetch the complete, dynamic HTML of the pricing page. AI Structuring: Gemini receives the raw HTML and uses a strict System Prompt to extract a clean JSON array of all pricing plans. Comparison & Calculation: A Code Node parses the current plan list and the list from the previous run (stored in Sheets). It calculates the percentage change for every matching plan. Alert Decision: An If Node checks the calculated change against the threshold. If the condition is met, the filtered alert proceeds to Slack. Data Shift & Log: The final Sheets Update node shifts the current plan data to the "Last Plans" column and moves the previous "Last Plans" to the "Old Plans" column, setting the new baseline for the next scheduled check. --- πŸ“₯ Decodo Node Installation The Decodo node is used three times in this workflow for precision scraping and searching. Find the Node: Click the + button in your n8n canvas. Search: Search for the Decodo node and select it. Credentials: When configuring the first Decodo node, use your API key (obtained with the 80% discount coupon). ----- 🎁 Exclusive Deal for n8n Users To run this workflow, you require a robust scraping provider. We have secured a massive discount for Decodo users: Get 80% OFF the 23k Advanced Scraping API plan. Coupon Code: ATTAN8N Sign Up Here: Claim 80% Discount on Decodo ----- πŸ› οΈ Setup Instructions Credentials: Obtain API keys for Decodo (using the coupon below), Google Sheets, and Slack. Google Sheets Setup: Create a sheet with the following required columns for tracking (one row per URL): Name URL Old Plans (JSON String) Last Plans (JSON String) Updated At (Date) Global Configuration: Open the Config: Alert Parameters node to set your alert_threshold (e.g., 10). I understand. To complete the final template description for your Competitor Price Monitoring workflow, here is the dedicated How to Adapt the Template section, focusing on functional changes a user can make for advanced monitoring. βž• How to Adapt the Template The workflow is currently configured for maximum efficiency and stability. To expand its functionality or change its dependencies, you can implement the following adaptations: Change Database for Storage: Replace the Google Sheets nodes with Airtable or Notion nodes for historical storage. Since your comparison logic relies on the JSON string being saved and retrieved, you will only need to change the read/write operations (the Code logic remains the same). Change Alert Channel: Easily swap the Slack node with a Gmail, Discord, or Pushover node to deliver critical price alerts to a different team or application. Dynamic Thresholds: Modify the Config: Alert Parameters to include separate fields for price increases (e.g., alert_increase_threshold) and price decreases* (e.g., alertdecreasethreshold), allowing you to track competitor sales differently than price hikes. Advanced Price Filtering: Adjust the code logic in Code: Isolate Pricing Section to target specific currency symbols (e.g., €, Β£) or to filter out prices that appear to be marked as promotional (e.g., text containing "SALE" or "Discount"). Add Advanced Alert Reporting: Instead of sending a simple Slack message, use the full list of price_diffs (which contains all plans) to generate a consolidated daily CSV report or a professional HTML email summarizing all movements, even those below the alert threshold.

AttaBy Atta
160

Screen job applicants with Gemini AI: Jotform to Notion hiring pipeline

Stop drowning in job applications. This workflow transforms your hiring process from a manual, time-consuming data-entry task into an automated, intelligent screening system. When a candidate applies via your Jotform, this workflow automatically: Downloads their PDF resume (even from private links). Extracts the text from the resume and reads their cover letter. Compares the application to the Notion job description using Gemini AI. Generates an "AI Fit Score" (0-100) and a concise summary. Filters out low-scoring applicants. Creates a new, fully detailed candidate page in your Notion database, linked to the correct job. Instantly alerts your hiring team on Slack with the candidate's score and summary. Sends an automated confirmation email to the candidate. Features Triggers on New Jotform Submissions: Kicks off the moment a candidate clicks "Apply Now." Handles Private Files: Securely downloads private resume files from Jotform using your API key. PDF Text Extraction: Automatically reads the text from any uploaded PDF resume. Deep AI Analysis: Uses Gemini AI to compare the candidate's resume and* cover letter against the specific job description from Notion. Relational Database Linking: Automatically links the new candidate to the correct "Open Position" page in Notion. Automated Quality Filtering: An IF node stops low-scoring candidates from cluttering your database. Multi-Channel Communication: Provides instant feedback to your team (Slack) and the candidate (Email). Nodes Used 🟣 Jotform Trigger (Jotform Trigger) βœ‰οΈ Gmail (Send Confirmation Email) ⬇️ HTTP Request (Download Resume PDF) πŸ“„ Extract From File (Read Resume Text) πŸ” Notion (Find Job in Notion) πŸ–‡οΈ Merge (Combine Data) 🧠 AI Agent (AI Candidate Analysis) ❓ IF (Score > 40?) βž• Notion (Create Candidate in Notion) πŸ“£ Slack (Alert Hiring Team) 🚫 No Operation, do nothing (Ignore (Score < 40)) ----- How to use this template This template requires manual setup due to Jotform's unique Question IDs (QIDs). Please follow these steps carefully. ⚠️ CRITICAL WARNING ON JOTFORM QIDs To get the file URL, this template requires you to turn "Resolve Data" OFF in the Jotform Trigger. This means the workflow uses Question IDs (e.g., q7positionApplying, q8typeA8) instead of human-readable labels. Your QIDs will be different from the ones in this template. You must run the trigger once, find your QIDs, and replace them in the downstream nodes. ----- Set up Jotform and Notion (See "More Information" section below) Before you start, create your Jotform form and your two Notion databases ("Open Positions" and "Candidates") as described at the end of this document. Configure the Jotform Trigger Node Credentials: Connect your Jotform account. Form: Select your "Job Application" form. IMPORTANT: In the node Parameters, find the "Resolve Data" option and turn it OFF. Test: Run a test by submitting your form. Look at the output and write down your unique QIDs for each field (e.g., q3fullName, q7positionApplying, q8_typeA8, uploadYour). Configure the Download Resume PDF (HTTP Request) Node Credentials: This node needs your Jotform API Key. Authentication: Query Auth Credential: Create new Header Auth credentials. Name: Jotform API Key (Query) Parameter Name: apiKey Parameter Value: [Paste your Jotform API Key here] URL: Replace uploadYour in the expression {{ $('Jotform Trigger').item.json.uploadYour[0] }} with the QID for your* file upload field. Configure the Find Job in Notion Node (See the "Required Notion Setup" section at the end of this document for detailed instructions on how to build this database) Credentials: Connect your Notion credentials. Database ID: Select your "Open Positions" database. Filter Value: Replace q7_positionApplying in the expression {{ $('Jotform Trigger').item.json.q7_positionApplying }} with the QID for your* "Position" dropdown. Configure the AI Candidate Analysis Node Credentials: Connect your Google AI (Gemini) credentials. Prompt: In the prompt, find the line for "Candidate's Cover Letter". Replace q8_typeA8 in the expression {{ $('Jotform Trigger').item.json.q8_typeA8 }} with the QID for your* cover letter field. Configure the IF (Score > 40?) Node No credentials needed. You can change the "Value 2" from 40 to any score you want to use as your quality filter. Configure the Create Candidate in Notion Node (See the "Required Notion Setup" section at the end of this document for detailed instructions on how to build this database) This is the most important step. Connect your Notion credentials and select your "Candidates" database. You must go through every single property and replace my QIDs with your QIDs from the Jotform trigger. Candidate Name: {{ $('Jotform Trigger').item.json.q3fullName.first }} ... (Replace q3fullName) Email: {{ $('Jotform Trigger').item.json.q4email }} (Replace q4email) Phone: {{ $('Jotform Trigger').item.json.q5phoneNumber?.full ? ... (Replace q5phoneNumber) Position (Relation): This expression, {{ $('Find Job in Notion').item.json.id }}, is correct. AI Summary, Score, Skills: These expressions are also correct. Resume (File): In the URL field, replace uploadYour with your file QID. Configure Communication Nodes Send Confirmation Email (Gmail): Connect your email credentials and customize the email body. Alert Hiring Team (Slack): Connect your Slack credentials and select your desired channel (e.g., hiring). Activate your Workflow\! Once all steps are configured and QIDs are replaced, save and activate your workflow. ----- How to Adapt the Template Log Rejected Candidates: Connect the false (No) output of the IF (Score > 40?) node to a Google Sheets node to keep a log of all candidates who didn't meet the score threshold. Change the AI Prompt: Edit the prompt in the AI Candidate Analysis node to ask for different insights, such as "List 3 potential red flags" or "Estimate years of experience." Use a Different AI: Replace the Google AI node with an OpenAI or Claude node. Change Notifications: Swap the Slack node for Discord, Microsoft Teams, or a simple email notification. ----- More Information About Jotform Jotform is a powerful and easy-to-use online form builder perfect for creating professional job application forms. Its flexibility with file uploads and webhooks makes it an ideal trigger for this n8n automation. If you don't have an account, you can get started using the link above. Required Jotform Fields Your Jotform must have these fields for the template to work: Full Name Email Phone Number (Can be optional) File Upload (Label: Upload Your Resume) Crucial: Set the file type option to pdf only. Dropdown (Label: Position Applying For) Crucial: The options (e.g., "Marketing Manager") must exactly match the page titles in your "Open Positions" Notion database. Long Text (Label: Summary / Cover Letter) Required Notion Setup This workflow requires two separate databases in Notion that are linked together. Both databases must be shared with your n8n integration. Database 1: "Open Positions" This database holds your job descriptions. The AI reads from this database to understand the job requirements. Create a new Table database in Notion named Open Positions. Create the following properties: Name (Title): This is the job title. It must exactly match the options in your Jotform dropdown (e.g., "Marketing Manager"). Job Description (Text): A text field where you will paste the full job description for the role. Database 2: "Candidates" This database will store every new applicant and their AI-generated score. Create a new Table database in Notion named Candidates. Create the following properties to store the data: Candidate Name (Title): This will be filled with the applicant's name from the form. Email (Email): Stores the candidate's email. Phone (Phone): Stores the candidate's phone number. Resume (File): Stores the link to the resume PDF. AI Summary (Text): Stores the 2-sentence summary from the AI. AI Fit Score (Number): Stores the 0-1S00 score from the AI. Key Skills (Multi-select): Stores the skills array generated by the AI. Position (Relation): This is the final, crucial property. Type: Select Relation. Database: In the menu, search for and select your "Open Positions" database. IMPORTANT: A toggle labeled "Show on 'Open Positions'" will appear. You must turn this toggle ON. This creates a two-way relation, which is required for n8n to see and use this property.

AttaBy Atta
151

Monitor brand mentions on X with Gemini AI visual analysis & Telegram alerts

This workflow automates brand monitoring on X by analyzing both the text and the images in posts. It uses multi-modal AI to score brand relevance, filters out noise, logs important mentions in Airtable, and sends real-time alerts to a Telegram group for high-priority posts. What it does Traditional brand monitoring tools often miss the most authentic user content because they only track text. They can't "see" your logo in a photo or your product featured in a video without a direct keyword mention. This workflow acts as an AI agent that overcomes this blind spot. It finds mentions of your brand on X and then uses Google Gemini's multi-modal capabilities to perform a comprehensive analysis of both the text and any attached images. This allows it to understand the full context of a mention, score its relevance to your brand, and take the appropriate action, creating a powerful "visual intelligence" system. How it works The workflow runs on a schedule to find, analyze, and triage brand mentions. Get New Tweets: The workflow begins by using an Apify actor to scrape X for recent posts based on a defined set of search terms (e.g., Tesla OR $TSLA). It then filters these results to find unique mentions not already processed. Check for Duplicates: It cross-references each found tweet with an Airtable base to ensure it hasn't been analyzed before, preventing duplicate work. Analyze Post Content: For each new, unique post, the workflow performs two parallel analyses using Google Gemini: Analyze the Photos: The AI examines the images in the post to describe the scene, identify logos or products, and determine the visual mood. Analyze the Text: A separate AI call analyzes the text of the post to understand its context and sentiment. Final Relevance Check: A "Head Strategist" AI node receives the outputs from both the visual and text analyses. It synthesizes this information to assign a final brand relevance score from 1 to 10. Triage and Action: Based on this score, the workflow automatically triages the post: High Relevance (Score > 7): The post is logged in the Airtable base, and an instant, detailed alert is sent to a Telegram monitoring group. Medium Relevance (Score 4-7): The post is quietly logged in Airtable for later strategic review. Low Relevance (Score < 4): The post is ignored, effectively filtering out noise. Setup Instructions To get this workflow running, you will need to configure your Airtable base and provide credentials for Apify, Google, and Telegram. Required Credentials Apify: You will need an Apify API Token to run the X scraper. Airtable: You will need Airtable API credentials to connect to your base. Google AI: You will need credentials for the Google AI APIs to use the Gemini models. Telegram: You will need a Bot Token and the Chat ID for the channel where you want to receive high-relevance alerts. Of course. Based on the Config node parameters you provided, the setup process is much more centralized. Here is the corrected and rewritten "Step-by-Step Configuration" section. Of course. Here is the rewritten "Step-by-Step Configuration" section with the link to the advanced search documentation. Step-by-Step Configuration Set up Your Airtable Base: Before configuring the workflow, create a new table in your Airtable base. For the workflow to function correctly, this table must contain fields to store the analysis results. Create fields with the following names: postId, postURL, postText, postDateCreated, authorUsername, authorName, sentiment, relevanceScore, relevanceReasoning, mediaPhotosAnalysis, and status. Once the table is created, have your Base ID and Table ID ready to use in the Config node. Edit the Config Node: The majority of the setup is handled in the first Config node. Click on it and edit the following parameters in the "Expressions" tab: searchTerms: Replace the example with the keywords, hashtags, and accounts you want to monitor. The field supports advanced search operators for complex queries. For a full list of available parameters, see the Twitter Advanced Search documentation. airtableBaseId: Paste your Airtable Base ID here. airtableTableId: Paste your Airtable Table ID here. lang: Set the two-letter language code for the posts you want to find (e.g., "en" for English). min_faves: Set the minimum number of "favorites" a post should have to be considered. tweetsToScrape: Define the maximum number of posts the scraper should find in each run. actorId: This is the specific Apify actor for scraping X. You can leave this as is unless you intend to use a different one. Configure the Telegram Node: In the final node, "Send High Relevance Posts to Monitoring Group", you need to manually set the destination for the alerts. Enter the Chat ID for your Telegram group or channel. How to Adapt the Template This workflow is a powerful framework that can be adapted for various monitoring needs. Change the Source: Replace the Apify node with a different trigger or data source. You could monitor Reddit, specific RSS feeds, or a news API for mentions. Customize the AI Logic: The core of this workflow is in the AI prompts. You can edit the prompts in the Google Gemini nodes to change the analysis criteria. For example, you could instruct the AI to check for specific competitor logos, analyze the sentiment of comments, or identify if the post is from an influential account. Modify the Scoring: Adjust the logic in the "Switch" node to change the thresholds for what constitutes a high, medium, or low-relevance post to better fit your brand's needs. Change the Actions: Replace the Telegram node with a different action. Instead of sending an alert, you could: Create a ticket in a customer support system like Zendesk or Jira. Send a summary email to your marketing team. Add the post to a content curation tool or a social media management platform.

AttaBy Atta
130

Convert YouTube videos to audio summaries with Decodo, OpenAI & Telegram

Stop watching long videos, start listening to concise summaries. This workflow transforms any YouTube video URL sent via Telegram into a high-quality, spoken audio summary (MP3) and a structured text overview. It acts as your personal AI research assistant, turning lengthy content into bite-sized audio files that you can consume on the go. It leverages Decodo for robust transcript extraction, OpenAI for intelligent summarization, and for realistic text-to-speech generation. --- ✨ Features Telegram-First Interface: Send links and receive audio directly in your chat app. Smart Validation: Automatically checks if the link is a valid YouTube URL before processing to save API credits. Multi-Language Support: Easily configure the output language (English, Spanish, German, etc.) via a simple Config node. The AI will translate and speak in this language. Robust Error Handling: Gracefully handles videos with no captions/transcripts by notifying the user instead of breaking the workflow. Structured Data Extraction: Uses AI to extract the Genre, Title, and Summary alongside the audio file. βš™οΈ How it Works Trigger: You send a YouTube URL to your Telegram Bot. Validate: The workflow checks the URL pattern using Regex. Extract: Decodo scrapes the video page to retrieve the full transcript JSON. Process: A Code node flattens the complex JSON into a readable text format. Summarize: OpenAI (gpt-4o-mini) analyzes the text and writes a script optimized for listening. Speak: OpenAI converts the script into a high-definition MP3 file. Deliver: The bot replies with the Audio File and a formatted text summary including the genre tags and original link. --- πŸ“₯ Decodo Node Installation The Decodo node is used in this workflow for fetching the YouTube Transcript. Find the Node: Click the + button in your n8n canvas. Search: Search for the Decodo node and select it. Credentials: When configuring the first Decodo node, use your API key (obtained with the 80% discount coupon). Setup: Open the Decodo (Fetch YouTube Transcript) node to ensure it is correctly targeting the YouTube service. ----- 🎁 Exclusive Deal for n8n Users To run this workflow, you require a robust scraping provider. We have secured a massive discount for Decodo users: Get 80% OFF the 23k Advanced Scraping API plan. Coupon Code: ATTAN8N Sign Up Here: Claim 80% Discount on Decodo --- βž• How to Adapt the Template This workflow is highly flexible and can be modified for various content tasks: Change AI Model: Easily swap the OpenAI Chat Model node with an OpenAI or Anthropic (Claude) node without altering the core logic. Create Long-Form Drafts: Modify the AI System Prompt to generate a full 1,000-word blog post draft or a set of social media updates instead of a short audio script. Change Destination: Replace the Telegram nodes with Slack, Microsoft Teams, Email (Gmail/SMTP), or Discord to deliver the audio and summary to your preferred channel. Create an Archive: Connect the successful output to a Google Sheets or Airtable node to keep a searchable archive of every video summary created.

AttaBy Atta
101

Automated lead generation from digital footprints with Decodo & Airtable

Stop manually searching Google for sales leads. Start listening to the internet. This advanced workflow automatically identifies, qualifies, and enriches high-value leads by searching for their digital footprints (i.e., specific technology use or public directories). It uses a robust Find/Create/Conditional Update database pattern to prevent duplicates and ensure you only spend credits on enriching incomplete records. The workflow provides a fully persistent lead record, updating the same Airtable row as new data is found across multiple search steps. ✨ Key Features Persistent Data Integrity: Uses a dedicated Loop Over Items structure to run the Find/Create/Update logic sequentially for every lead, guaranteeing no data is lost or duplicated. Conditional Enrichment: A smart gate checks the Airtable record: if the high-value email field is empty, the workflow proceeds to the expensive scraping steps. If it is already complete, it skips the scrape. Targeted Scraping: Executes precise Google Dorks (via Decodo) to find initial leads and then targets the specific Contact Us page for deep email extraction. Database-as-a-State-Machine: Airtable acts as the single source of truth, logging the initial lead status and updating the same row across several enrichment phases. Final Output: Delivers the fully enriched lead data (Domain, Primary Email, Contact Page URL) to a final notification channel. ----- βš™οΈ How it Works (The Find/Create/Update Loop) Search & Filter: The workflow is manually triggered and uses the Config variables to execute a wide-scope Google Search via Decodo. The results are filtered into a clean array of unique domains. Loop & Check: The Loop Over Items node starts. Inside, the Airtable Read node checks the database for the current lead's domain. Create/Update: If the lead is NEW, the workflow creates a record (Airtable: Create Lead). If the lead EXISTS, the record is updated (Airtable: Update Lead). Data Merger: The Data Merger: ID Finalizer node consolidates the workflow, ensuring the unique Airtable Record ID is passed to the next step, regardless of whether the lead was created or updated. Conditional Enrichment: The If: Enrichment Needed? node checks the existing Primary Email status. If it's empty, the item proceeds to the deep scraping pipeline (Decodo: Email Search β†’ Decodo: Scrape Contact Page). Final Update: The final node updates the Airtable record with the high-quality email address found from the deep scrape. --- πŸ“₯ Decodo Node Installation The Decodo node is used three times in this workflow for precision scraping and searching. Find the Node: Click the + button in your n8n canvas. Search: Search for the Decodo node and select it. Credentials: When configuring the first Decodo node, use your API key (obtained with the 80% discount coupon). ----- 🎁 Exclusive Deal for n8n Users To run this workflow, you require a robust scraping provider. We have secured a massive discount for Decodo users: Get 80% OFF the 23k Advanced Scraping API plan. Coupon Code: ATTAN8N Sign Up Here: Claim 80% Discount on Decodo ----- πŸ› οΈ Setup Instructions This template requires specific node configuration and Airtable fields. Credentials: Obtain API keys for Decodo (using the coupon above) and Airtable. Airtable Setup (Schema): Create an Airtable base with a 'Leads' table. It must include these fields for mapping: Domain (Single Line Text - Primary Field) Primary Email (Email) Contact Page URL (URL) Source URL (URL) Lead Type (Single Select: Paid Ad Lead, Organic Lead*) Status (Single Select: New Lead, Updated, Enrichment Complete*) Global Configuration: Open the Config: Set Search Params node. Customize the following fields: tech_footprint: e.g., "We use Klaviyo" target_industry: e.g., site:promarketer.ca ----- βž• How to Adapt the Template Change Database: Replace the Airtable nodes with Postgres, Notion, or Google Sheets for logging, adapting the field mappings. Final Notification: Add a Slack or Gmail node to alert the sales team immediately upon successful enrichment. Multi-Step Enrichment: Integrate a service like Hunter.io or Clearbit to find key employee names and titles before the final database update. Adjust Scoring: Add an If Node after the deep scrape to set a Lead Score* based on whether a direct email (sales@) was found versus a general contact page link. Add AI Lead Scoring: Integrate a Gemini or OpenAI node after the deep scraping step to assign an "AI Score" (1-100) based on lead quality (e.g., domain authority, quality of the extracted email), before the final update.

AttaBy Atta
81
All templates loaded