Workflows
Browse 12,955 Workflows
Workflows are deterministic, multi-step pipelines that chain models, tools and agents in a fixed order — the predictable counterpart to an autonomous agent. Each entry records its platform and complexity, so the setup cost is visible before you import it.
49–60 of 12,955
By Kanishka Shrivastava
Quick overview This workflow receives bullet points via a webhook, uses Google Gemini to generate and score three LinkedIn post variations, logs the results to Google Sheets, and returns an HTML page with all versions plus an automatically selected recommended post. How it works Receives a POST request to a webhook with bullet_points, tone, post_type, and an optional author_name. Normalizes incoming fields and sets configuration values such as the target Google Sheets document ID and sheet name. Uses Google Gemini to generate exactly three distinct LinkedIn post variations from the provided bullet points and options. Uses Google Gemini again to score each variation on hook strength, readability, and engagement potential. Totals the three scores per variation, selects the highest-scoring post as the recommendation, and prepares the variations and score breakdown for output. Appends all three variations, their totals, the input metadata, and the recommended index to a Google Sheets worksheet. Returns a formatted HTML response showing the recommended post and all three variations with their scores. Setup Add a Google Gemini (PaLM) API credential and attach it to both Gemini steps (generation and scoring). Add a Google Sheets OAuth2 credential. Create a Google Sheet with a worksheet named “Posts” (or update the sheet name) and add headers: generated_at, bullet_points, tone, post_type, variation_1, score_1, variation_2, score_2, variation_3, score_3, recommended_index. Replace REPLACE_WITH_GOOGLE_SHEET_ID in the configuration step with your Google Sheet document ID. Activate the workflow, copy the webhook URL, and send JSON requests to the /linkedin-generator endpoint from your form or client. An n8n automation workflow template by Kanishka Shrivastava.
- 5 nodes
- Automation
- AI
By Alicia Graham
Quick overview This workflow accepts grocery receipt photos via an n8n form or Telegram, uses Google Gemini to extract and normalize line items, calculates a personal month-to-month inflation rate, pulls the matching official CPI series from the US BLS API, and returns a report (optionally with an ElevenLabs voice note). How it works Receives receipt photos or commands from an n8n Form trigger or a Telegram bot trigger. For uploaded images, uses Google Gemini to extract the store, purchase date, and purchasable line items into structured data. Checks previously saved receipt lines in an n8n Data Table to reuse known product mappings, and uses a Google Gemini agent to assign consistent product keys to any new line-item texts. Calculates unit prices, saves/upserts the normalized receipt lines to the Data Table, and fetches the official CPI time series from the US BLS Public Data API for the configured series. Computes a spending-weighted personal inflation rate between the two most recent months with receipts and compares it to the official index change for the same months. Uses Google Gemini to write an “economist’s note” from the precomputed results and optionally generates an audio version via the ElevenLabs text-to-speech API. Builds a formatted HTML report for form submissions or a Telegram message (plus optional voice note) and sends the response back to the originating channel. Setup Add a Google Gemini (Google AI Studio) credential for the Gemini chat model used to read receipts and write the report. (Optional) Add an ElevenLabs HTTP Header Auth credential (xi-api-key) and set the voice/model settings if you want audio notes. (Optional) Add Telegram bot credentials (BotFather token) and configure the Telegram trigger/send nodes if you want Telegram intake and replies. Review and adjust the settings values (BLS series ID, label, currency symbol, fallback official rate, narrator prompt, and ElevenLabs voice/model IDs) to match your use case. Run the workflow once to let it create the receipt_economist_lines n8n Data Table automatically, then test with the sample household or upload receipts from at least two different months. Requirements Gemini API key; n8n with Data Tables (the table is created on the first run). ElevenLabs and Telegram are optional. Customization In Settings, change the BLS series, currency or narrator voice. For another country, point the official-index HTTP Request node at its statistics office and adjust the Calculate node. An n8n automation workflow template by Alicia Graham.
- 7 nodes
- Automation
- AI
By kenta
Quick overview This workflow runs daily at 07:00, pulls current weather from OpenWeatherMap, uses OpenAI to generate a weather-matched post, publishes it to X (Twitter), and logs the weather, bucket, and post text to Google Sheets. How it works Runs every day at 07:00 on a schedule. Fetches the current weather for the configured city from OpenWeatherMap. Converts the temperature to Celsius and classifies conditions into a marketing bucket (rain, hot, cold, or pleasant). Selects the corresponding campaign angle text for the identified weather bucket. Sends the weather details and selected angle to an OpenAI chat model to write a single social post (max 260 characters) following the specified style rules. Publishes the generated post to X (Twitter) and appends the date, weather, temperature, bucket, and post text to Google Sheets. Setup Add credentials for OpenWeatherMap, OpenAI, X (Twitter), and Google Sheets. Set the target city in the OpenWeatherMap step. Customize the four campaign angle texts (rain, hot, cold, pleasant) to match your products and offers. Select the Google Sheets document and sheet name to append to, and ensure it has columns for date, weather, temp, bucket, and post. An n8n automation workflow template by kenta.
- 6 nodes
- Automation
- AI
By vijay kireeti varma
Quick overview Know within an hour when a hijacked or malicious npm, PyPI or other open-source package lands in any of your GitHub repositories. This workflow checks new GitHub malware and critical advisories against every repository's dependency graph and sends a Slack alert with an AI response plan. How it works Runs every hour and creates its own n8n Data Table on the first run to remember what it already reported. Pulls the malware and critical advisories published in the last 7 days from the GitHub Advisory Database. Lists your repositories and downloads each one's dependency graph (SBOM), covering npm, PyPI, Maven, NuGet, Go, RubyGems, Composer, Rust and more. Compares every dependency version with the affected version ranges, so you are only alerted about versions that are really affected. Skips anything already reported, so each problem is alerted once, and re-checks recent advisories on every run to catch packages installed later. Google Gemini writes an incident response plan for each new advisory: what happened, what to do now and how to check whether you were compromised. Sends the alert to Slack, logs every incident in the Data Table and can open GitHub issues in private repositories. Setup Create a GitHub personal access token (classic with the repo scope, or fine-grained with Contents: read and Metadata: read, plus Issues: write if you want issues) and select it as the GitHub credential in Fetch Advisories, List Repositories, Get Dependency Graph and Create GitHub Issue. Make sure the dependency graph is enabled in each repository's settings under Code security (it is on by default for public repositories). Open the Settings node and set github_owner to your organization or username, and owner_type to "org" or "user". Add a free Google Gemini API key from aistudio.google.com to the Gemini node. Connect Slack and set your channel in Slack Supply-Chain Alert (default #security-alerts). Click Execute workflow once, then publish the workflow so it runs every hour. Requirements A recent n8n 2.x version (the workflow uses built-in Data Tables) GitHub personal access token, with the dependency graph enabled on your repositories Google Gemini API key (the free tier works) Slack workspace Customization Change lookback_days to re-check a longer window, for example 30 days on the first run. Set include_critical_vulnerabilities to false to alert only on malware and hijacked packages. Set create_github_issues to true to open an issue in affected private repositories. Use repo_name_filter and max_repositories to limit which repositories are scanned. Replace the Slack node with Microsoft Teams, Discord or PagerDuty. Additional info Gemini is only called when a new incident is found, so normal hours make no AI calls. Packages listed without an exact version, for example a manifest without a lockfile, are only reported for advisories that affect every version, and are marked as unconfirmed. Issues are only opened in private repositories, so incidents are never published in public repos. The GitHub Advisory Database can lag behind an attack by a few hours, so keep your other defences such as lockfiles and release cooldowns in place. An n8n automation workflow template by vijay kireeti varma.
- 7 nodes
- Automation
- AI
By 久保田 卓磨
Quick overview This workflow receives customer messages from LINE, uses Anthropic Claude to auto-answer common questions from your shop data, and routes everything else to a Slack thread for staff to handle, syncing staff replies back to LINE and tracking conversations in n8n Data Tables. How it works Receives incoming LINE webhook events, verifies the request signature, and ignores invalid or redelivered events. Extracts the user ID, reply token, and message content, then processes only text and image messages. For image messages, downloads the image from LINE and uses Anthropic Claude to describe the furniture so it can be treated as a stock inquiry. Classifies each inquiry with Anthropic Claude as shop info, stock, visit availability, or needs staff, then consults n8n Data Tables to draft a reply from the allowed data (shop information, products, or visit slots). If the drafted reply is answerable, sends it back to the customer via the LINE Messaging API and logs the AI response for staff visibility. If the inquiry needs staff or can’t be answered from the available data, sends an acknowledgment to LINE and posts the inquiry into Slack, creating or updating a per-customer Slack thread tracked in a Data Table. When staff reply in the Slack thread, forwards the message to the customer via the LINE Messaging API, reacts on success, updates the thread status in the Data Table, and reports failures back into the thread. Setup Create and select credentials for LINE Messaging API (HTTP Header Auth with Authorization: Bearer ), Crypto HMAC (LINE channel secret), Anthropic, and Slack (bot token and signing secret). Create and select three n8n Data Tables: products (sku, name, category, color, width_cm, price, stock, note), visit_slots (slot_date, slot_time, capacity, booked), and line_slack_threads (line_user_id, slack_ts, status, last_inquiry). Choose the target Slack channel in all Slack nodes and invite the Slack bot to that channel. Update the Config values (timezone, currency, acknowledgment message, and shop information) since AI answers are generated only from this content and the Data Tables. Register the LINE webhook URL in the LINE Developers console and the Slack trigger URL in your Slack app’s Event Subscriptions (enable message.channels), then publish the workflow. Requirements LINE Official Account with the Messaging API (channel secret and channel access token) Slack workspace and a Slack app with the bot scopes chat:write, channels:read, channels:history, reactions:write Anthropic API key n8n reachable over HTTPS (for the LINE and Slack webhooks) Customization Change the categories in "Can the AI answer?" and "Extract product category" Edit the shop information in the Config node. The AI answers only from it Edit the rules in the three "Answer from ..." nodes Replace the sample Data Tables with your own products and visit slots Additional info LINE push messages (staff replies) count against your monthly LINE quota; AI answers and acknowledgments use the free reply API. Each customer message used about 3 workflow executions in testing, because Slack also triggers the workflow for the bot's own posts. A date with no rows in visit_slots is answered as a day with no visits. The acknowledgment text in Config is fixed, so write it in your customers' language. Messages starting with // in a Slack thread are internal notes and are not sent. A write-up with screenshots and the problems found (in Japanese): https://outsidernotes.com/n8n-template-line-slack-handoff/. An n8n automation workflow template by 久保田 卓磨.
- 7 nodes
- Automation
- AI
By Syed Maaz Saeed
Quick overview This chat-based dental receptionist answers clinic questions using documents stored in Qdrant, checks Google Calendar availability, and books appointments after patient confirmation. It includes authenticated knowledge uploads, configurable clinic hours, timezone-aware slot calculations, and booking error handling How it works An administrator uploads a text file containing approved clinic information through an authenticated form. The workflow extracts and splits the text, generates OpenAI embeddings, and stores the document chunks in Qdrant Patients interact through n8n chat. An OpenAI agent uses conversation memory and retrieves clinic information from Qdrant to answer questions. For appointment requests, the agent calls an authenticated calendar endpoint. The workflow validates the date and calculates available slots using configured opening hours, working days, timezone, appointment duration, and Google Calendar busy periods. The agent collects the patient’s name and email and requests confirmation of the appointment details. Before booking, the workflow checks availability again and creates a private Google Calendar event, requesting an invitation to the patient. The workflow reports a confirmed booking only after Google returns an event ID. Invalid requests, unavailable slots, and uncertain booking outcomes receive explicit responses. Setup Connect OpenAI credentials to the chat model and both embedding nodes. Connect the same Qdrant credentials to both vector store nodes. Create a Qdrant collection named dental_clinic_knowledge with 1536 dimensions and Cosine distance for text-embedding-3-small In Configure and Validate Calendar Request, enter your Google Calendar ID and configure the clinic timezone, opening hours, working days, slot duration, minimum notice, and booking horizon. Connect the same Google Calendar OAuth2 credentials to both Google HTTP Request nodes. In Configure Chat Endpoint, enter your n8n HTTPS base URL. Create an HTTP Header Auth credential with its Name field set to X-Clinic-Key and its Value field set to a strong secret. Select this same credential on Calendar API and both calendar tools. Assign separate Basic Auth credentials to the knowledge upload form Upload approved clinic information, activate/publish the workflow to register its calendar endpoint, and test through the editor chat. Verify knowledge retrieval, unavailable slots, and a successful test booking before enabling public chat. Requirements An n8n instance with the included node versions available. OpenAI API access with available credit. A Qdrant instance and configured collection. Google Calendar OAuth2 credentials with permission to read availability and create events. An HTTPS n8n URL reachable from the workflow. A UTF-8 text file containing approved clinic information. Customization Change clinic hours, working days, timezone, appointment duration, and booking notice. Update the clinic knowledge documents and receptionist instructions. Change the Qdrant collection in both vector store nodes. Replace Simple Memory with shared persistent memory for queue-mode deployments. Additional info This template supports chat-based questions and appointment booking for one clinic calendar. SMS, voice calls, rescheduling, and cancellation are not included. Knowledge uploads append documents; remove outdated documents in Qdrant before uploading replacements. Avoid uploading patient records. Availability is checked before booking, but Google Calendar checking and event creation are not atomic. Concurrent external bookings can still cause overlaps. Uncertain booking outcomes require staff review before retrying. Calendar invitations are requested, but delivery is not verified. An n8n automation workflow template by Syed Maaz Saeed.
- 9 nodes
- Automation
- AI
By Rahul Joshi
Quick Overview This workflow syncs an ONDC seller catalog from Google Sheets to a seller app API on a schedule or via webhook, using OpenAI to clean product content, validating ONDC retail rules, checking image links, writing sync results back to the sheet, and emailing an error-focused run report. How it works Runs every 30 minutes or when a POST request hits the n8n webhook endpoint. Loads catalog rows from Google Sheets and fetches the current live catalog from the seller app API to detect changed, new, disabled, or drifting SKUs. Sends only “full update” items that need content changes to OpenAI (gpt-4o-mini) to normalize titles, descriptions, categories, units, and attributes. Verifies product image URLs with HTTP HEAD requests and flags broken links, non-image content types, or oversized files. Validates each SKU against ONDC retail rules, applies a price-jump guard that holds large changes until the sheet confirms them, and builds batched upsert and inventory payloads. Pushes the batched catalog and inventory updates to the seller app API and compiles API responses together with validation failures. Updates Google Sheets with sync status, hashes, timestamps, and any AI-cleaned fields, logs failures into a “Sync Errors” tab, optionally writes AI fix suggestions back to the catalog sheet, and emails a summary report via Gmail. Setup Create a Google Sheet with a “Catalog” tab (including SKU, pricing, stock, content fields, and sync tracking columns like sync_status/content_hash/stock_hash) and a “Sync Errors” tab for appended error logs. Add Google Sheets OAuth2 credentials and set the Sheet ID and tab names in the configuration values. Add an OpenAI API key for the gpt-4o-mini steps that clean product attributes and generate fix suggestions. Add Gmail OAuth2 credentials and set the report recipient email address used for run summaries. Configure an HTTP Header Auth credential for your seller app API and update the API base URL, endpoints, and ONDC identifiers (provider_id, location_id, fulfillment_id, consumer care details) in the configuration values. If using on-demand runs, copy the webhook URL from the workflow and call it with a POST request (optionally providing a JSON body for SKUs/full resync behavior). An n8n automation workflow template by Rahul Joshi.
- 5 nodes
- Automation
- AI
By Rahul Joshi
Quick overview This workflow tracks MSME vendor bills for Section 43B(h) compliance using Google Sheets as a bill register, optionally syncing bills from Zoho Books, verifying vendors via a Udyam API, and sending Slack alerts, a CSV payment-priority list, and an OpenAI-generated CFO briefing with an approve/hold step. How it works Runs every morning (Mon–Sat) on a schedule or starts instantly when bills or payments are posted to a webhook. Loads the Vendor Master and Vendor Bills from Google Sheets and optionally pulls the latest bills from Zoho Books when an organization ID is configured. Appends new bills and updates payment status/amounts in the Google Sheets bill register based on webhook payloads and Zoho Books balances. Optionally verifies new or stale vendors against your Udyam verification API and writes the latest MSME category and verification status back to the Vendor Master sheet. Calculates each unpaid Micro/Small MSME bill’s 15/45-day deadline, days left/overdue, estimated tax-at-risk, and estimated MSMED interest, then posts Slack alerts as bills approach or exceed the limit. Builds a cash-constrained payment plan, generates a CSV payment-priority list, and uploads it to Slack. Uses OpenAI (gpt-4o-mini) to draft a CFO briefing, sends a Slack approve/hold request, and writes the approval decision back to the relevant bill rows in Google Sheets. Setup Create a Google Sheets file with two tabs named to match your configuration (default: “Vendor Master” and “Vendor Bills”) and ensure the bill sheet contains columns like bill_id, vendor_name, bill_number, bill_date, acceptance_date, amount, amount_paid, payment_status, and due_date_43bh. Add Google Sheets OAuth2 credentials and set the Google Sheet ID in the workflow’s finance configuration. Add Slack OAuth2 credentials, set your target channel ID, and set the Slack user ID for the finance head to receive the approve/hold prompt. Add an OpenAI API credential for the gpt-4o-mini briefing generation. (Optional) Add Zoho Books OAuth2 credentials and fill in zoho_org_id and zoho_api_domain to enable daily bill sync. (Optional) Configure a Udyam verification API endpoint and Header Auth credentials, then paste the API URL into udyam_api_url and ensure Vendor Master includes vendor_id and udyam_number for verification. An n8n automation workflow template by Rahul Joshi.
- 5 nodes
- Automation
- AI
By Rahul Joshi
Quick overview This workflow reduces COD RTOs by scoring new Shopify orders (rules + OpenAI), confirming them over WhatsApp via WATI, and dispatching confirmed orders to Shiprocket, while tracking statuses in Google Sheets and notifying ops via Telegram using webhooks, a review form, and scheduled follow-ups. How it works Triggers on new Shopify orders, incoming WATI/Shiprocket webhook events, ops decisions submitted via an n8n form, and a 15-minute schedule. Loads the COD Orders tracker from Google Sheets and decides the next required actions for each order (confirm, remind, hold, dispatch, or NDR follow-up) based on the latest status and timing. For new orders, calculates a rule-based RTO risk score and sends the order details to OpenAI (gpt-4o-mini) to assess address quality and fraud/RTO likelihood. Writes the order with its blended risk score and risk band to Google Sheets, updates Shopify order tags (and cancels the order when needed), and sends WhatsApp confirmation or reminder templates through WATI. Moves confirmed low/medium-risk orders to dispatch by creating shipments in Shiprocket, then stores shipment IDs, AWB, courier, and shipment status back in Google Sheets. Reacts to Shiprocket tracking updates by sending WATI out-for-delivery and failed-delivery (NDR) messages, optionally triggering Shiprocket NDR actions (re-attempt/return), and alerting the ops team in Telegram for high-risk orders, repeated NDRs, auto-cancellations, or Shiprocket API errors. Setup Connect credentials for Shopify (Admin access token), Google Sheets, OpenAI, and Telegram. Create and share a Google Sheet containing a “COD Orders” tab, then paste the Sheet ID and tab name into the workflow configuration. Add WATI HTTP Header Auth credentials and configure your approved WATI WhatsApp templates (confirmation, reminder, out-for-delivery, and NDR) plus your WATI tenant endpoint. Add Shiprocket Custom Auth login credentials (API user email/password), set your Shiprocket pickup location name, and configure Shiprocket and WATI to POST webhook events to the workflow’s webhook URL (including the shared Shiprocket webhook token header). An n8n automation workflow template by Rahul Joshi.
- 5 nodes
- Automation
- AI
By Sukhman
Quick overview This workflow schedules tagged Amazon ECS services to run only during office hours, allows self-service restarts via an n8n Form for a limited duration, and sends status updates to a Microsoft Teams channel using an incoming webhook. How it works Runs on two schedules (20:00 daily and 08:00 weekdays) or when a user submits an n8n Form restart request. Scans the configured Amazon ECS clusters, lists services, describes them with tags, and keeps only services tagged auto-schedule=office-hours. At 20:00, saves each running service’s desired count into the saved-desired-count tag, scales the service to 0, and posts a stop summary to Microsoft Teams. At 08:00 on weekdays, restores services that have a saved-desired-count tag back to that count, clears saved-desired-count and override-until, and posts a start summary to Microsoft Teams. For restart requests, optionally prompts for a project, lets the requester choose stopped or already-overridden services and a duration, sets an override-until tag, and scales selected services up to their saved desired count. Polls Amazon ECS every 30 seconds until all selected services are healthy (or the max attempts is reached) and posts a ready or failure alert to Microsoft Teams. Waits until the requested end time and, if it is outside office hours and the override-until tag still matches, scales the services back to 0, clears the override tag, and posts a “switched off again” message to Microsoft Teams. Setup Create AWS IAM roles (one per AWS account) that n8n can assume with permission to call ECS ListServices, DescribeServices, UpdateService, TagResource, and UntagResource on the target clusters. Add one AWS (Assume Role) credential per account in n8n and ensure the workflow’s account routing includes a branch for each configured account key. Tag each ECS service you want managed with auto-schedule=office-hours (optionally add display-name for a friendly label). Create a Microsoft Teams incoming webhook for the target channel and set its URL in teamsWebhookUrl. Update projects (project/account/region/cluster), restartFormUrl, office hours, and timezone, and match the workflow settings timezone to the same value. Configure authentication for the n8n Form endpoint (or protect n8n behind SSO) and test the schedules against a non-production service before activating. Requirements AWS: one or more AWS accounts running Amazon ECS services (Fargate or EC2). An IAM role per account that n8n can assume, allowing: ecs:ListServices and ecs:DescribeServices on your clusters ecs:UpdateService, ecs:TagResource and ecs:UntagResource on the services. Recommended: restrict these three with aws:ResourceTag/auto-schedule = office-hours, and limit tag changes to the keys saved-desired-count and override-until. n8n credentials: one AWS (Assume Role) credential per account. A plain AWS credential also works if you change the node's credential type. Microsoft Teams: a channel webhook created with Teams Workflows, using the "Send webhook alerts to channel" template. Service tags: each service to schedule tagged auto-schedule = office-hours. Optionally add display-name = for the form. Services managed by Terraform/CloudFormation: ignore changes to desired_count and to the saved-desired-count / override-until tags, so the next deploy doesn't undo the schedule. The form must be reachable by the people who will use it. Protect it with the form trigger's authentication or SSO in front of n8n. Customization Schedule: change the cron in When Every Day at 8PM / When Weekdays at 8AM, and match officeStartHour / officeEndHour in Set Config Parameters. Set timezone there and in the workflow settings. Projects and accounts: add entries to projects (project, account, region, cluster). One project can span several clusters. For a new AWS account, add a rule to Route by AWS Account and duplicate an ECS handler node with that account's credential. With a single account, keep one branch. Opt-in tag: change scheduleTagKey / scheduleTagValue to use your own tag. Restart durations: durationHours controls the form's dropdown (0.5 = 30 minutes). "Until the next working-day morning" is always offered. Health check: maxHealthChecks × 30 seconds is how long to wait before sending the failure alert. Notifications: edit the "Compile…" / "Compose…" Code nodes to change the wording or language. To use Slack, email or another tool, swap the Teams HTTP nodes. Additional info No database needed: state is kept in ECS tags. saved-desired-count remembers each service's task count overnight, and override-until marks services someone restarted from the form, so the nightly stop leaves them alone. Restart and extend: teammates can start stopped services or extend ones already running. An extension never shortens an existing booking. When the time is up, services are stopped again only if it's outside office hours and nobody else extended them. Self-contained multi-account design: every ECS API call goes through the section at the bottom of the workflow. The workflow calls itself with an Execute Sub-workflow node, and a Switch picks the AWS credential for each account, so there's only one workflow to import. Safe by default: only services carrying the opt-in tag are ever touched, and the selected services are re-checked against that list before anything is started. Limits: up to 100 services per cluster and 10 services per restart request. Public holidays aren't skipped automatically. An n8n automation workflow template by Sukhman.
- 2 nodes
- Automation
By Rahul Joshi
Quick overview This workflow tracks India E-Way Bills in Google Sheets from a form or webhook, calculates validity when missing, and sends staged expiry alerts to an ops Telegram group, drivers via WhatsApp Cloud API, and dispatchers via Gmail, while logging all alerts and handling status updates. How it works Receives new E-Way Bill details from an n8n Form trigger or a POST webhook from your ERP/GSP. Normalizes the input, calculates “Valid Upto” from distance when missing, deduplicates against the Google Sheets tracker, and appends new bills to the tracker sheet. Sends a Telegram confirmation to the ops group and writes a “tracking started” entry to the Google Sheets alert log. Runs every 30 minutes, reads active bills from Google Sheets, and determines which alert stage (12/6/2/0/-6/-8 hours) or delivery-risk condition has newly been reached. Posts every triggered alert to Telegram, and sends a WhatsApp template message to the driver and an email via Gmail to the dispatcher for the configured urgent stages. Updates the bill’s last-alert markers/status in the Google Sheets tracker and appends each alert event to the Google Sheets alert log so stages fire only once. Accepts extension/delivery/vehicle change/cancellation updates from a second form or webhook, validates them against the tracker, updates the Google Sheets record, and confirms or rejects the update via Telegram while logging the change. Setup Create a Google Sheet with two tabs named “EWB Tracker” and “Alert Log”, and ensure the tracker contains columns matching the fields used (at minimum ewb_no, status, valid_upto, driver_phone, dispatcher_email, alert_stage, and risk_alerted_for). Add Google Sheets OAuth2 credentials and update the Sheet ID and tab names in the three configuration steps (Intake/Monitor/Update). Create a Telegram bot, add its credential in n8n, add the bot to your ops group, and set the ops Telegram chat ID in the configuration steps. Add Gmail credentials for sending dispatcher emails and set the ops/dispatcher email addresses used by the workflow. Create a Meta WhatsApp Cloud API app, add the HTTP Header Auth credential with your access token, set your WhatsApp Phone Number ID and API version, and get the “ewb_expiry_alert” message template approved with parameters matching the workflow payload. If you intake or update from external systems, copy the two webhook URLs (/ewb-track and /ewb-update) from n8n and configure them in your ERP/GSP to POST matching fields (for example ewb_no, ewb_date, valid_upto, distance_km, and update_type/new_valid_upto). An n8n automation workflow template by Rahul Joshi.
- 5 nodes
- Automation
By Shuo Yuan
Quick overview This workflow runs daily to fetch your sitemap, deduplicate previously submitted URLs using an n8n Data Table, and submit new pages to Google Search Console, Bing Webmaster Tools, and IndexNow, then sends a Telegram digest with submission counts and status. How it works Runs every day at 09:00 on a schedule. Downloads your sitemap (including following sitemap index files one level deep) and parses the XML into a list of page URLs. Checks each URL against an n8n Data Table and keeps only URLs that have not been submitted before. Classifies each new URL into priority tiers (cornerstone/homepage, normal content, or low-value utility/archive) based on deterministic URL rules. Upserts the URL details into the Data Table, batches URLs, and submits cornerstone/homepage URLs to Bing Webmaster Tools, IndexNow, and Google Search Console (sitemap resubmission). Batches and submits normal content URLs to Bing Webmaster Tools and IndexNow while skipping low-priority URLs. Compiles results from all branches and sends a single Telegram message summarizing what was submitted and the response status. Setup Create an n8n Data Table (for example, “SEO Indexer - Submitted URLs”) with at least a text column for url, and set the Data Table ID and URL column ID in the Data Table nodes. Replace placeholders for YOUR_DOMAIN_ROOT, YOUR_SEARCH_CONSOLE_SITE, YOUR_BING_API_KEY, YOUR_INDEXNOW_KEY, and YOUR_TELEGRAM_CHAT_ID in the HTTP Request and Telegram nodes. Add Google API credentials for the Google Search Console HTTP request (with the https://www.googleapis.com/auth/webmasters scope) and ensure the account has access to the target Search Console property. Host your IndexNow key file at the configured keyLocation URL so IndexNow can validate your domain. Optionally tune the URL classification rules (keywords and path patterns) to match your site structure before activating the workflow. Requirements n8n instance with Data Tables enabled. Google Cloud service-account credential with Search Console property access and the webmasters scope. Bing Webmaster Tools API key (free tier: 10,000 URLs per month). IndexNow key file deployed at your site root. Telegram Bot token and chat ID for the digest. Customization Adjust the keyword lists in the URL priority classifier to match your site structure. Change the schedule interval in the trigger. Point the workflow at any sitemap URL, including sitemap index files. Tune the Bing batch size and IndexNow limits to your quota. Extend the digest with per-engine response details. An n8n automation workflow template by Shuo Yuan.
- 3 nodes
- Automation