by David Olusola
Inventory Low Stock Alerts E-commerce Automation This n8n template automatically monitors your Shopify inventory levels and sends alerts when products fall below your defined threshold. Prevent stockouts and maintain sales revenue with proactive inventory management. Good to know Default threshold is 10 units but easily customizable in the Code node Monitors all product variants individually Runs daily at 9 AM but schedule is fully adjustable Only sends alerts when action is needed (no empty notifications) How it works The schedule runs daily at 9 AM and connects to Shopify to download all products and variants. The workflow loops through every product and variant, checking inventory quantity for each item. It compares current stock against your threshold (default: 10 units) and identifies items below threshold. If any low stock items are found, it creates a comprehensive list and formats an alert message. The formatted report is sent to your Slack team so they can take immediate restocking action. Set up instructions Set up Shopify credentials in n8n: API Key, Password, Shop Subdomain, and Shared Secret The schedule trigger runs daily at 9 AM but feel free to adjust timing based on your business needs Modify "lowStockThreshold" variable in the Code node (default is set to 10 units) Set up Slack credentials and create a dedicated #inventory channel for alerts Ensure your Shopify products have inventory tracking enabled in product settings Test the workflow manually to verify it correctly identifies low-stock items What team sees: "🚨 Low Stock Alert! T-Shirt Blue (Medium): 3 left Coffee Mug (White): 7 left Phone Case (Black): 2 left" Business logic: Stock above threshold equals no alert. Stock at or below threshold equals alert sent. Stock at zero equals out of stock which is critical. Customising this workflow Add email alerts for critical out-of-stock items Set different thresholds for different product categories Include supplier contact information in alerts
by Anton Bezman
Dungeons and Goblins — AI Telegram Voice Adventure with Persistent Memory This n8n template demonstrates how to use an AI agent with persistent memory to run a structured, rules-driven fantasy role-playing game entirely through Telegram voice messages. The workflow acts as a Dungeon Master, narrating scenes, resolving mechanics, performing dice rolls when authorized, and explicitly saving game state between turns. How it works A player actions are provided to Telegram bot via voice messages. The AI agent loads the current game state from n8n memory. A strict system prompt enforces rules, turn flow, and narration. When an action requires a dice roll, the agent waits for player authorization. Once authorized, the AI rolls, resolves the outcome, and applies changes. All state updates are emitted as structured data and saved to memory. The request and response are processed in Groq's STT and TTS. Use cases Solo text-based fantasy campaigns Persistent AI-driven adventures Testing stateful AI agents in n8n Educational examples of memory-aware workflows Requirements Groq API token (free tier supported) Telegram bot API token
by Barbora Svobodova
Telegram AI Voice & Email Assistant: Manage, Draft & Discuss Emails via Voice Who’s it for This workflow is perfect for professionals and teams who want to manage email communications hands-free directly from Telegram. Simply send a voice message to your bot and seamlessly check your recent emails, draft or send a reply, and discuss email threads—all powered by OpenAI’s transcription and chat capabilities, with no third-party voice agent required. How it works / What it does Sends voice messages to a Telegram bot, which are then transcribed via OpenAI. Retrieves recent emails, drafts, or sends replies based on your commands. Engages the user in conversational discussion about email content using OpenAI chat. Responds in text or synthesized voice (OpenAI), creating a natural interactive experience. Automates email management from Telegram, keeping you efficient on the go. How to set up Create a Telegram bot via @BotFather and obtain your API token. Add the OpenAI API key and Gmail OAuth credentials to n8n. Assign your credentials to the Telegram, OpenAI, and Gmail nodes (Draft/Send/Get Email). Deploy and activate the workflow. Interact with your Telegram bot: just send voice messages and let the assistant manage your emails! Requirements Telegram Bot Token OpenAI API Key Gmail OAuth Credentials How to customize the workflow Adjust the Switch node to route and handle new message types or responses. Integrate additional services such as Slack, Notion, or custom tools as needed. Fine-tune prompts or the OpenAI transcription settings for your specific use case. Modify email templates and memory/session nodes for advanced conversation flows. Embed video guides or extra sticky notes for enhanced onboarding and usability.
by WeblineIndia
Background Verification Executive Digest Automation: Track Completed & Pending Verifications via Email (from Google Sheets) This automation sends a daily late-night email summary to each Background Verification (BGV) executive — straight out of your “BGV Tracker” Google Sheet. Each executive gets their own digest listing candidates whose background checks were completed today and which ones are still pending, complete with clear “stale” alerts for overdue follow-ups. The workflow runs reliably via n8n, auto-grouping entries and packaging the results in a user-friendly tabular email, every day at 23:00 IST. Who’s it for BGV team leads & vendors** who want automatic updates on their queue. HR managers** looking to automate candidate tracking without manual report compilation. Ops teams** with Google Sheets-based BGV tracking wanting digest emails for each owner. Any organization managing candidate checks across multiple owners/executives. How it works Schedule Trigger: Runs every night at 23:00 IST (Asia/Kolkata), weekends OFF by default. Google Sheets: Reads all rows from your “BGV Tracker” (tab), using columns: candidate_name, previous_company, prevco_hr_name, prevco_hr_email bgv_status, last_follow_up, bgv_completion_date, bgv_executive, bgv_exe_email Code Node #1 (“Normalize & Parse”): Cleans and lower-cases all column names for consistency. Parses last_follow_up & bgv_completion_date from multiple local date formats. Adds helper flags: isCompletedToday, isStale (pending and last-follow-up ≥ 3 days). Code Node #2 (“Group & Filter”): Groups rows by bgv_exe_email (executive). Within each group: Segregates “Completed Today” and “Pending” items. Code Node #3 (“Format Digest”): Generates a personalized HTML email per executive, with two tables: Completed Today (with candidate/prevco info) Pending (with “stale” ⚠️ flags) Builds the subject line showing per-executive summary counts. Gmail Node: Sends the formatted email to each executive automatically. Can be customized for preview/test mode, CC or CSV attachments. How to set up Prepare Google Sheet: Create “BGV Tracker” tab (case-insensitive column names). Fill columns: candidate_name, previous_company, prevco_hr_name, prevco_hr_email, bgv_status, last_follow_up, bgv_completion_date, bgv_executive, bgv_exe_email n8n Configuration: Authenticate Google Sheets node (OAuth). Authenticate Gmail node (App Password recommended). Import workflow JSON and adjust credentials and sheet IDs. Test run (optional): Fill sample data in the sheet. Start workflow and review “dry run” outputs (optional). Activate workflow for daily auto-emails. Requirements A Google Sheet tab called “BGV Tracker” with supported columns. Gmail (SMTP or OAuth) credentials with permissions to send. n8n cloud or self-hosted, with Google and Gmail creds configured. How to customize Change run time:** Modify the Schedule Trigger for different hours/days. Weekend handling:** Add condition to skip Sat/Sun. Stale threshold:** Adjust the “>= 3 days” flag logic in code node. Email template:** Edit HTML layout, subject, header/footer as needed. Digest content:** Add/remove columns in the email tables within the code node. Preview/test mode:** Add a DRY_RUN variable and IF node for safe previewing before going live. Attachment/CC:** Add extra nodes to attach CSV, send summary to managers or post to Slack. Add‑ons Manager summary:** Aggregate all digests and send to HR head or ops manager. CSV exports:** Automatically attach filtered candidate lists per executive. Slack reminders:** DM executives with only their stale pending items. Auto-writeback:** Update next follow-up date in Sheet for stale cases. Use Case Examples BGV vendor:** Nightly queue email lets each checker focus on fresh items to close first. Recruiter audit:** HRBP gets an easy, nightly record of outstanding verifications, with overdue flags for fast escalation. Multi-client projects:** Divide the worksheet, send only relevant candidates to each exec, boosting clarity and compliance. Common Troubleshooting | Issue | Possible Cause | Solution | |-------------------------------|-------------------------------------------------|----------------------------------------------| | No emails sent | SMTP/Gmail credentials missing or expired | Re-authenticate Gmail node; check permissions| | Some candidates missing | Sheet has missing/invalid bgv_exe_email | Ensure every row has valid executive email | | Completed items not listed | Wrong/combo date formats in completion column | Use supported date format; ensure status="Completed" | | Pending doesn’t show stale | Last follow-up date out of expected format | Use supported date format & review data | | Workflow runs on weekends | Schedule misconfigured (or missed weekend filter)| Add/exclude Sat/Sun via config/node logic | | Pending pool includes “To be Sent” | Status filter in code not precise | Adjust code node filter to exclude explicitly| | Emails not delivered | Gmail sending limit exceeded | Add rate limit (wait node), check quota | Need Help? If you need a hand setting up, customizing or want to add more integrations (Slack, CSVs, approvals, etc.) reach out to us at WeblineIndia anytime. We can setup error handling, advanced templates and even help connect your flows to external systems!
by Praneel S
⚠️ Disclaimer: This workflow uses Google Calendar and Gmail nodes which you will have to configure yourself Who’s it for Anyone who wants an AI-powered personal assistant that can handle Gmail and Google Calendar tasks through a simple webhook. This is useful for developers, small teams, and productivity enthusiasts who want to connect a chatbot (Discord, Telegram, WhatsApp, or custom frontends) to their email and calendar. How it works / What it does This workflow acts as a chat-based AI assistant. You send text requests through a webhook (e.g., from a chatbot), and the AI agent interprets them to take actions like: 📧 Sending emails in Gmail 📥 Reading and summarizing your emails 📅 Checking your Google Calendar events ✅ Checking your availability before booking 📝 Creating new calendar events with Google Meet links ✏️ Updating existing events ⏰ Converting natural time expressions like “tomorrow at 3 PM” into exact timestamps The AI agent is powered by the Google Gemini Chat Model (or any LLM you choose) and follows strict guardrails: Confirms actions before executing Asks for clarification if details are missing Prevents double-booking by checking availability How to set up Import this workflow into n8n. Set up credentials for: Gmail (OAuth2) Google Calendar (OAuth2) AI provider (Gemini, OpenAI, Claude, etc.) Configure the webhook node (/chat) as your chatbot endpoint. You can connect it to Discord, WhatsApp, Telegram, or a frontend app. Customize the AI Agent’s system prompt if you want to tweak tone or rules. Deploy and start sending messages like: “Check my emails from today” “Schedule a meeting with John tomorrow at 3 PM” “Email my team about the deadline extension” Requirements n8n installed and running (cloud or self-hosted) Gmail and Google Calendar accounts with API access API key for your chosen AI provider Webhook Chatbot interface How to customize Swap Google Gemini with another LLM node (e.g., OpenAI GPT or Anthropic Claude). Add more tools (e.g., Slack, Notion, Trello) to extend capabilities. Adjust memory length in the Simple Memory node. Modify sticky notes with instructions tailored to your use case. Disclaimer This workflow uses the community webhook entry point, so it is best suited for self-hosted n8n instances. Do not hardcode API keys or sensitive credentials. Always use n8n’s Credentials system. Other Details Thanks for viewing this automation! Feel Free to contact me at praneel.tech Also Use my Webhook chatbot interface Which is configured perfectly for n8n Automations!
by Takuya Ojima
Who’s it for Teams that collect meeting requests via a form and want instant, error-free scheduling: customer success, sales, education, agencies, and community managers. How it works / What it does This workflow ingests a form submission (name, email, preferred date/time), checks Google Calendar for conflicts, and branches automatically. If the slot is free, it creates a calendar event, spins up a Zoom meeting, emails the guest a confirmation, and posts a Slack summary to your team. If busy, it sends a polite “please pick another time” email. Time handling defaults to Asia/Tokyo and converts to ISO internally to keep downstream integrations consistent. How to set up Import the workflow and rename nodes for clarity if needed. Open the Workflow Configuration (Set) node and adjust variables (calendar ID, meeting duration, Slack channel, sender info). Map your form fields in Extract Booking Details. Connect credentials in each service node (Google Calendar, Zoom, Gmail, Slack). Test once with a real submission. Requirements Active accounts and n8n credentials for Google Calendar, Zoom, Gmail, and Slack. A form or webhook source that sends name, email, and a valid datetime. How to customize the workflow Duration & buffers: Change end time calculation in Extract Booking Details. Time zones: If you accept multiple time zones, normalize before building ISO strings. Email copy: Personalize confirmation/alternative-time messages and add attachments if desired. Slack format: Enrich the post with fields (host, Zoom join URL, internal tags). Routing: Add CRM updates or reminders after the “slot free” branch. Security note: No hardcoded API keys in HTTP nodes. Configure all credentials via n8n’s credential manager.
by Cheng Siong Chin
How It Works This template automates legal document review by extracting text, analyzing clauses with OpenAI, checking compliance standards, and generating alternative wordings. Target audience: legal teams, contract managers, and compliance officers seeking efficient document processing. Problem solved: manual clause extraction and compliance review is time-consuming and error-prone. Workflow extracts document text, performs parallel AI-powered clause analysis and compliance verification via OpenAI, consolidates findings, generates alternative wordings for non-compliant clauses, creates summary reports, stores results in databases, and notifies stakeholders via email. Setup Steps Configure OpenAI API with clause analysis and compliance prompts. Connect Google Sheets for database staging. Set Gmail for notifications. Input document source (upload node). Test with sample contracts. Prerequisites OpenAI API key, Gmail account, Google Sheets access, document upload capability. Use Cases Legal teams reviewing SaaS contracts, compliance departments auditing vendor agreements Customization Modify OpenAI prompts for industry-specific clauses. Swap Google Sheets for your database. Benefits Reduces manual review time by 80%, ensures consistent clause standardization
by Evoort Solutions
Job Search Automation with Job Search Global API & Google Sheet Logging Description: Automate your job search process by querying the Job Search Global API via RapidAPI every 6 hours for a specified keyword like “Web Developer.” This workflow extracts job listings and saves them directly to Google Sheets, with alerts sent for any API failures. Workflow Overview Schedule Trigger Runs the workflow automatically every 6 hours to ensure up-to-date job listings. Set Search Term Defines the dynamic job keyword, e.g., "Web Developer," used in API requests. Fetch Job Listings Sends a POST request to the Job Search Global API (via RapidAPI) to retrieve job listings with pagination. Check API Response Validates the API response status, branching workflow on success or failure. Extract Job Data Parses the job listings array from the API response for processing. Save to Google Sheet Appends or updates job listings in Google Sheets, avoiding duplicates by matching job titles. Send Failure Notification Email Sends an alert email if the API response fails or returns an error. How to Obtain Your RapidAPI Key (Quick Steps) Go to RapidAPI Job Search Global API. Sign up or log in to your RapidAPI account. Subscribe to the API plan that suits your needs. Copy your unique X-RapidAPI-Key from the dashboard. Insert this key into your workflow’s HTTP Request node headers. How to Configure Google Sheets Create a new Google Sheet for job listings. Share the sheet with your Google Service Account email to enable API access. Use the sheet URL in the Google Sheets node within your workflow. Map columns correctly based on the job data fields. Google Sheet Columns Used | Column Name | Description | | ----------- | ----------------------------------- | | title | Job title | | url | Job posting URL | | company | Company name | | postDate | Date job was posted | | jobSource | Source of the job listing | | slug | Unique job identifier or slug | | sentiment | Sentiment analysis score (if any) | | dateAdded | Date the job was added to the sheet | | tags | Associated tags or keywords | | viewCount | Number of views for the job post | Use Cases & Benefits Automated Job Tracking:** Get fresh job listings without manual searching by automatically querying the Job Search Global API multiple times per day. Centralized Job Data:** Save and update listings in Google Sheets for easy filtering, sharing, and tracking. Failure Alerts:** Get notified immediately if API calls fail, helping maintain workflow reliability. Customizable Search:** Change keywords anytime to tailor job searches for different roles or industries. Who Is This Workflow For? Recruiters** looking to monitor job market trends in real-time. Job Seekers** who want to automate job discovery for specific roles like “Web Developer.” HR Teams** managing talent pipelines and job postings. Data Analysts** needing structured job market data for research or reporting. Create your free n8n account and set up the workflow in just a few minutes using the link below: 👉 Start Automating with n8n Save time, stay consistent, and grow your LinkedIn presence effortlessly!
by Parth Pansuriya
Analyze Ingredient Photos using Telegram & Gemini AI Who’s it for Skincare enthusiasts who want to know if a product is safe. Food or supplement buyers checking ingredient safety. Parents reviewing kids’ products. Anyone wanting quick ingredient analysis before using/buying a product. How it works / What it does Telegram Input – User sends a photo of a product label or a text list of ingredients. Photo Handling – Workflow checks if the message contains a photo. If yes → retrieves the file, extracts ingredients using Google Gemini AI. If no → handles text/greetings/off-topic queries. Caption Branching With caption → Gives Use / Do Not Use recommendation + reason. Without caption → Gives Advantages, Disadvantages, Recommended For, Not Recommended For (3 points each). Response on Telegram – Sends a friendly, structured response back to the user. How to set up Import this workflow JSON into n8n. Create and connect a Telegram bot via BotFather → paste the API token in Telegram credentials. Add Google Gemini (PaLM) API credentials inside n8n. Activate the workflow and send your first product photo via Telegram! Requirements n8n instance (self-hosted or cloud). Telegram bot token. Google Gemini API credentials. How to customize the workflow Change AI Instructions** – Update system messages to tweak tone (more technical, casual, or medical). Adjust Output Format** – Edit Telegram response nodes for shorter/longer answers. Expand Analysis** – Add extra categories (e.g., allergens, environmental impact). Multi-language Support** – Modify prompts to output in the user’s preferred language. Add Database Logging** – Connect to MySQL, PostgreSQL to save conversations (user queries + AI responses).
by noda
Overview Auto-translate YouTube uploads to Japanese and post to Slack (DeepL + Slack) Who’s it for Marketing or community teams that follow English-speaking creators but share updates with Japanese audiences; language learners who want JP summaries of newly released videos; internal comms teams curating industry channels for a JP workspace. What it does This workflow detects new YouTube uploads, retrieves full metadata, translates the title and description into Japanese using DeepL, and posts a formatted message to a Slack channel. It also skips non-English titles to avoid unnecessary translation. How it works ・RSS watches a channel for new items. ・YouTube API fetches the full snippet (title/description). ・Text is combined into a single payload and sent to DeepL. ・The translated result + original metadata is merged and posted to Slack. Requirements ・YouTube OAuth (for reliable snippet retrieval) ・DeepL API key (Free or Pro) ・Slack OAuth How to set up ・Duplicate this template. ・Open the Config (Set) node and fill in YT_CHANNEL_ID, TARGET_LANG, SLACK_CHANNEL. ・Connect credentials for YouTube, DeepL, and Slack (don’t hardcode API keys in HTTP nodes). ・Click Execute workflow and verify one sample post. How to customize ・Change TARGET_LANG to any language supported by DeepL. ・Add filters (exclude Shorts, skip videos under N characters). ・Switch to Slack Blocks for richer formatting or thread replies. ・Add a fallback translator or retry logic on HTTP errors. Notes & limits DeepL Free/Pro have different endpoints/quotas and monthly character limits. YouTube and Slack also enforce rate limits. Keep credentials in n8n’s credential store; do not commit keys into templates. Rotate keys if you accidentally exposed them.
by Florent
Automated n8n Workflows & Credentials Backup to Local/Server Disk & FTP Complete backup solution that saves both workflows and credentials to local/server disk with optional FTP upload for off-site redundancy. What makes this workflow different: Backs up workflows AND credentials together Saves to local/server disk (not Git, GitHub, or any cloud services) Optional FTP upload for redundancy (disabled by default) Comprehensive error handling and email notifications Timezone-aware** scheduling Ready to use with minimal configuration How it works Backup Process (Automated Daily at 4 AM): Initialisation - Sets up timezone-aware timestamps and configurable backup paths for both local/server disk and FTP destinations Folder Creation - Creates date-stamped backup directories (YYYY-MM-DD format) on local/server disk Dual Backup Operations - Processes credentials and workflows in two separate branches: Credentials Branch: Exports n8n credentials using the built-in CLI command with backup flag Lists exported credential files in the credentials folder Reads each credential file from disk Optional: Uploads to FTP server (disabled by default) Optional: Logs FTP upload results for credentials Workflows Branch: Retrieves all workflows via n8n API Cleans workflow names for cross-platform compatibility Converts workflows to formatted JSON files Writes files to local/server disk Optional: Uploads to FTP server (disabled by default) Optional: Logs FTP upload results for workflows Data Aggregation - Combines all workflow data with binary attachments for comprehensive reporting Results Merging - Consolidates credentials FTP logs, workflows FTP logs, and aggregated workflow data Summary Generation - Creates detailed backup logs including: Statistics (file counts, sizes, durations) Success/failure tracking for local and FTP operations Error tracking with detailed messages Timezone-aware timestamps Notifications - Sends comprehensive email reports with log files attached and saves execution logs to disk How to use Initial Setup: Configure the Init Node - Open the "Init" node and customize these key parameters in the "Workflow Standard Configuration" section: // Admin email for notifications const N8N_ADMIN_EMAIL = $env.N8N_ADMIN_EMAIL || 'youremail@world.com'; // Workflow name (auto-detected) const WORKFLOW_NAME = $workflow.name; // Projects root directory on your server const N8N_PROJECTS_DIR = $env.N8N_PROJECTS_DIR || '/files/n8n-projects-data'; // projects-root-folder/ // └── Your-project-folder-name/ // ├── logs/ // ├── reports/ // ├── ... // └── [other project files] // Project folder name for this backup workflow const PROJECT_FOLDER_NAME = "Workflow-backups"; Then customize these parameters in the "Workflow Custom Configuration" section: // Local backup folder (must exist on your server) const BACKUP_FOLDER = $env.N8N_BACKUP_FOLDER || '/files/n8n-backups'; // FTP backup folder (root path on your FTP server) const FTP_BACKUP_FOLDER = $env.N8N_FTP_BACKUP_FOLDER || '/n8n-backups'; // FTP server name for logging (display purposes only) const FTPName = 'Synology NAS 2To'; These variables can also be set as environment variables in your n8n configuration. Set Up Credentials: Configure n8n API credentials for the "Fetch Workflows" node Configure SMTP credentials for email notifications Optional: Configure FTP credentials if you want to enable off-site backups Configure Backup Folder: Ensure the backup folder path exists on your server Verify proper write permissions for the n8n process If running in Docker, ensure volume mapping is correctly configured Customize Email Settings: Update the "Send email" node with your recipient email address or your "N8N_ADMIN_EMAIL" environment value Adjust email subject and body text as needed Enabling FTP Upload (Optional): By default, FTP upload nodes are disabled for easier setup. To enable off-site FTP backups: Simply activate these 4 nodes (no other changes needed): "Upload Credentials To FTP" "FTP Logger (credentials)" "Upload Workflows To FTP" "FTP Logger (workflows)" Configure FTP credentials in the two upload nodes The workflow will automatically handle FTP operations and include upload status in reports Requirements n8n API credentials (for workflow fetching) SMTP server configuration (for email notifications) Adequate disk space for local backup storage Proper file system permissions for backup folder access Docker environment with volume mapping (if running n8n in Docker) Optional: FTP server access and credentials (for off-site backups) Good to know Security**: Credentials are exported using n8n's secure backup format - actual credential values are not exposed in plain text Timezone Handling**: All timestamps respect configured timezone settings (defaults to Europe/Paris, configurable in Init node) File Naming**: Automatic sanitization ensures backup files work across different operating systems (removes forbidden characters, limits length to 180 characters) FTP Upload**: Disabled by default for easier setup - simply activate 4 nodes to enable off-site backups without any code changes Connection Resilience**: FTP operations include error handling for timeout and connection issues without failing the entire backup Graceful Degradation**: If FTP nodes are disabled, the workflow completes successfully with local backups only and indicates FTP status in logs Error Handling**: Comprehensive error catching with detailed logging and email notifications Dual Logging**: Creates both JSON logs (for programmatic parsing) and plain text logs (for human readability) Storage**: Individual workflow JSON files allow for selective restore and easier version control integration Scalability**: Handles any number of workflows efficiently with detailed progress tracking This automated backup workflow saves your n8n data to both local disk and FTP server. To restore your backups, use: "n8n Restore from Disk - Self-Hosted Solution" for local/server disk restores "n8n Restore from FTP - Remote Backup Solution" for FTP remote restores
by Yuvraj Singh
Purpose This solution enables you to manage all your Notion and Todoist tasks from different workspaces as well as your calendar events in a single place. This is 2 way sync with partial support for recurring How it works The realtime sync consists of two workflows, both triggered by a registered webhook from either Notion or Todoist. To avoid overwrites by lately arriving webhook calls, every time the current task is retrieved from both sides. Redis is used to prevent from endless loops, since an update in one system triggers another webhook call again. Using the ID of the task, the trigger is being locked down for 80 seconds. Depending on the detected changes, the other side is updated accordingly .Generally Notion is treaded as the main source. Using an "Obsolete" Status, it is guaranteed, that tasks never get deleted entirely by accident. The Todoist ID is stored in the Notion task, so they stay linked together An additional full sync workflow daily fixes inconsistencies, if any of them occurred, since webhooks cannot be trusted entirely. Since Todoist requires a more complex setup, a tiny workflow helps with activating the webhook. Another tiny workflow helps generating a global config, which is used by all workflows for mapping purposes. Mapping (Notion >> Todoist) Name: Task Name Priority: Priority (1: do first, 2: urgent, 3: important, 4: unset) Due: Date Status: Section (Done: completed, Obsolete: deleted) <page_link>: Description (read-only) Todoist ID: <task_id> Current limitations Changes on the same task cannot be made simultaneously in both systems within a 15-20 second time frame. Subtasks are not linked automatically to their parent yet. Tasks names do not support URL’s yet. Credentials Follow the video: Setup credentials for Notion (access token), Todoist (access token) and Redis. Todoist Follow this video to get Todoist to obtain API Token. Todoist Credentials.mp4 Notion Follow this video to get Notion Integration Secret. Redis Follow this video to get Redis Setup The setup involves quite a lot of steps, yet many of them can be automated for business internal purposes. Just follow the video or do the following steps: Setup credentials for Notion (access token), Todoist (access token) and Redis - you can also create empty credentials and populate these later during further setup Clone this workflow by clicking the "Use workflow" button and then choosing your n8n instance - otherwise you need to map the credentials of many nodes. Follow the instructions described within the bundle of sticky notes on the top left of the workflow How to use You can apply changes (create, update, delete) to tasks both in Notion and Todoist which then get synced over within a couple of seconds (this is handled by the differential realtime sync) The daily running full sync, resolves possible discrepancies in Todoist. This workflow incorporates ideas and techniques inspired by Mario (https://n8n.io/creators/octionic/) whose expertise with specific nodes helped shape parts of this automation. Significant enhancements and customizations have been made to deliver a unique and improved solution.