Create dynamic Twitter profile banner
This workflow updates your Twitter profile banner when you have a new follower. To use this workflow: Configure Header Auth in the Fetch New Followers to connect to your Twitter account. Update the URL of the template image in the Fetch BG node. Create and configure your Twitter OAuth 1.0 credentials in the last HTTP Request node. You can configure the size, and position of the avatar images in the Edit Image nodes. Check out this video to learn how to build it from scratch: How to automatically update your Twitter Profile Banner
Track food calories via Telegram with GPT-4 Vision and Google Sheets
This workflow enables users to submit food images to a Telegram bot, which uses OpenAI’s GPT-4 Vision to identify the item and estimate its caloric value. The results are stored in Google Sheets and sent back to the user. What it does: Triggers on a photo sent via Telegram. Acknowledges the user with a sticky note message. Downloads the image file securely using Telegram's API. Sends the image to GPT-4 Vision with a prompt: “Describe this food and estimate its calories.” Logs the GPT response to a Google Sheet (with timestamp). Replies to the user with the result (e.g., food name and estimated calories). Use cases: Personal food tracking Nutrition logging via chat Meal journaling for fitness or health Requirements: Telegram Bot Token (via credentials) OpenAI GPT-4 Vision access Google Sheets credential with access to the target sheet Notes: You can extend this template to calculate daily totals, categorize meals (breakfast/lunch/dinner), or even integrate with calorie goals. The sticky note node confirms receipt to enhance UX. Ideal for wellness apps, chat-based food journals, or AI-powered health bots.
Convert PDF to PDFA using ConvertAPI
Who is this for? For developers and organizations that need to convert PDF files to PDFA for long term archiving. What problem is this workflow solving? The file format conversion problem. What this workflow does Downloads the PDF file from the web. Converts the PDF file to PDFA. Stores the PDFA file in the local file system. How to customize this workflow to your needs Open the HTTP Request node. Adjust the URL parameter (all endpoints can be found here). Use your API Token for authentication. Pass the token in the Authorization header as a Bearer token. You can manage your API Tokens in the User panel → Authentication. Optionally, additional Body Parameters can be added for the converter.
Enrich new accounts in Pipedrive using Datagma API
This workflow enriches new accounts in Pipedrive using Datagma API by adding data about ICP (ideal customer profile). Instead of Pipedrive, you can use any other CRM. In this example, ideal buyers are heads of sales/business development. Prerequisites Pipedrive account and Pipedrive credentials How it works Pipedrive trigger node starts the workflow when a new company is created. HTTP Request node queries data from Datagma. Pipedrive node updates Pipedrive contact with new data from Datagma. The Item Lists node simplifies returned data from Datagma that contain lists (arrays), enabling you to easily modify the structure for further processing without the need to use Function nodes and write custom JavaScript. IF node identifies if the lead corresponds ICP. HTTP Request node searches for emails in Datagma. Set node prepares data for further merging. Merge node combines data from multiple streams. Pipedrive node adds a new person in Pipedrive.
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.