by Jimleuk
> Note: This template requires a self-hosted community edition of n8n. Does not work on cloud. Try It Out This n8n template shows how to validate API requests with Auth0 Authorization tokens. Auth0 doesn't work with the standard JWT auth option because: 1) Auth0 tokens use the RS256 algorithm. 2) RS256 JWT credentials in n8n require the user to use private and public keys and not secret phrase. 3) Auth0 does not give you access to your Auth0 instance private keys. The solution is to handle JWT validation after the webhook is received using the code node. How it works There are 2 approaches to validate Auth0 tokens: using your application's JWKS file or using your signing cert. Both solutions uses the code node to access nodeJS libraries to verify the token. JWKS**: the JWK-RSA library is used to validate the application's JWKS URI hosted on Auth0 Signing Cert**: the application's signing cert is imported into the workflow and used to verify token. In both cases, when the token is found to be invalid, an error is thrown. However, as we can use error outputs for the code node, the error does not stop the workflow and instead is redirected to a 401 unauthorized webhook response. When token is validated, the webhook response is forwarded on the success branch and the token decoded payload is attached. How to use Follow the instructions as stated in each scenario's sticky notes. Modify the Auth0 details with that of your application and Auth0 instance. Requirements Self-hosted community edition of n8n Ability to install npm packages Auth0 application and some way to get either the JWK url or signing cert.
by Paul Mikulskis
This template is based on the following template. Thank you for the groundwork, Matheus. How it works: Store your snippets of text in a Notion table. Each snippet should have an image associated with it (copy + pasted into the text) Connect to your table via a Notion "integration", from which N8N can then query your pre-meditated posts The text is fed through an OpenAI assistant to boost engagement via formatting The re-formatted text along with the image pulled from the Notion snippet are combined into a post for your LinkedIn The row in the original Notion table from step 1 containing this post is set to a status of "Done" Set up steps: You will need to create a Notion "integration", which will yield a "secret key" which you enter into your N8N as a "Credential". You will need to create a LinkedIn "app" in order to post on your behalf. When creating your LinkedIn "app", you will be required to link this "app" to a company page on LinkedIn. If you are doing this for yourself, seach for the "Default Company Payge (for API testing)", and select this page as it is provided by LinkedIn for individuals. You can find your LinkedIn apps here, and if you get stuck, further instructions on setting up this workflow (including this LinkedIn OAuth piece) can be found in this YouTube Video Aide to these instructions. Lastly, you will need to create an OpenAI API key, found on your OpenAI Playground Dashboard. Once you created an API key, make sure you have an assistant created from the "Assistants" tab on the OpenAI dashboard. This assistant and its instructions will be needed for carrying out the re-formatting of your post.
by M Shehroz Sajjad
Transform your BeyondPresence video agent conversations into comprehensive insights by automatically analyzing each call with AI and organizing 35+ data points in Google Sheets. This template helps customer success, support, and training teams save 30+ minutes per call on documentation while ensuring no critical action items or insights are missed. How it works Webhook receives** completed call data from BeyondPresence including full transcript Data validation** ensures quality and adds enriched metadata (duration, time calculations) AI analysis** (GPT-4) extracts action items, sentiment, decisions, and recommendations Parse response** handles the AI output and structures it for sheets Auto-append** to Google Sheets with 35+ insights per call organized beautifully Set up steps Copy our Google Sheets template - One click! Get pre-formatted sheet: BeyondPresence Call Analytics Template Connect accounts - Add OpenAI API key and Google Sheets OAuth2 Configure webhook - Copy URL from n8n to BeyondPresence Settings → Webhooks Customize AI prompt (optional) - Adjust analysis focus for your use case Test with a call - Make a test call and watch insights appear! Setup time: 5-10 minutes Requirements: BeyondPresence account, OpenAI API key, Google account
by Airtop
Automating File (Image) Upload to Postimages.org Use Case Manually uploading screenshots or other image files to hosting platforms like Postimages.org can be tedious and time-consuming. This automation simplifies the process by automatically uploading an image to Postimages.org and validating the result, which is especially useful for repetitive QA tasks, reporting, or archiving visual web data. What This Automation Does This automation uploads a screenshot to Postimages.org using the following steps: Creates a browser session using Airtop. Navigates to the Postimages.org upload page. Takes a screenshot using the browser session. Uploads the screenshot to the site via the "Choose images" button. Waits briefly to ensure upload processing. Captures a post-upload screenshot for validation. How It Works Session Initialization: Starts a browser session using the Airtop node. Navigation: Opens the URL https://postimages.org/ in a new window. Screenshot Capture: Takes a screenshot to use for upload. File Upload: Uploads the screenshot to the site using the file upload interaction. Validation: Waits 5 seconds and then captures a second screenshot to confirm the image was uploaded successfully. Setup Requirements Airtop API Key — required for session creation and browser interactions. Next Steps Customize for Other Sites**: Adapt this workflow to automate file uploads to different platforms. Integrate with Reporting Tools**: Combine this automation with workflows that require image reporting or archiving. Enhance Validation**: Add logic to parse the upload confirmation or retrieve the image URL programmatically for logging or sharing. Read more about how to automate file uploads to the web
by Un tal Camilo Medina
🤖 Telegram Bot Webhook Configuration Tool This workflow creates a simple web form that helps you configure Telegram bot webhooks quickly. Instead of manually constructing the Telegram API URL, this tool does it for you automatically. How It Works The workflow consists of three main steps: Form Input: A web form collects your bot token and webhook URL URL Construction: Automatically builds the correct Telegram API URL Redirect: Takes you directly to the Telegram API to complete the configuration What You Need Bot Token**: Get this from @BotFather on Telegram (format: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz) Webhook URL**: Your n8n webhook endpoint (must be HTTPS) Setup Instructions Import this workflow into your n8n instance Activate the workflow Access the generated form URL Fill in your bot details and submit Form Fields | Field | Description | Example | |-------|-------------|---------| | Bot API Token | Token from BotFather | 123456789:ABCdefGHIjklMNOpqrsTUVwxyz | | Webhook URL | Your n8n webhook endpoint | https://your-instance.app.n8n.cloud/webhook/telegram | What Happens You enter your bot token and webhook URL in the form The workflow constructs this URL: https://api.telegram.org/bot{TOKEN}/setWebhook?url={WEBHOOK_URL} You're redirected to that URL where Telegram configures your webhook Telegram shows you a success or error message Benefits No Manual URL Building**: Eliminates copy-paste errors Quick Setup**: Configure webhooks in seconds Privacy Focused**: No data is stored anywhere Team Friendly**: Share the form URL with team members Common Webhook URLs n8n Cloud: https://your-instance.app.n8n.cloud/webhook/telegram-bot Self-hosted: https://your-domain.com/webhook/telegram-bot Requirements n8n with form trigger support Valid Telegram bot token Publicly accessible webhook URL (HTTPS required) Troubleshooting Invalid Token Error: Make sure you copied the complete token from BotFather Webhook Error: Ensure your URL is publicly accessible and uses HTTPS SSL Error: Verify your webhook URL has a valid SSL certificate This tool simply automates the manual process of visiting the Telegram API URL to configure your bot's webhook. Perfect for developers who frequently set up or change Telegram bot configurations.
by Henry
Who is this for? This workflow is ideal for social media managers, content creators, marketers, and small businesses who want to automate Instagram Carousel posts using Google Sheets and Google Drive. It is also suitable for anyone looking to streamline repetitive Instagram publishing tasks with n8n, Cloudinary, and the Instagram Graph API. What problem is this workflow solving? / Use case Managing and publishing Instagram Carousel posts manually can be time-consuming, especially when handling multiple accounts or campaigns. This workflow solves that by automatically fetching scheduled posts from Google Sheets, uploading images from Google Drive to Cloudinary, and publishing them to Instagram, saving time and reducing the risk of errors. What this workflow does This n8n workflow checks a Google Sheet every 5 minutes for new Carousel posts marked as "ToDo." When found, it uploads images from a specified Google Drive folder to Cloudinary, prepares the media on Instagram using the Graph API, and publishes the Carousel post with the given caption. Setup Prepare a Google Sheet to track posts and image folder URLs. Example : https://docs.google.com/spreadsheets/d/1WEUHeQXFMYsWVAW3DykWwpANxxD3DxH-S6c0i06dW1g/edit?usp=sharing Upload post images to a dedicated Google Drive folder. Set up a Cloudinary account and gather API credentials. Obtain Instagram access_token and ig_business_id for API publishing. Configure the n8n workflow with required credentials and your custom intervals. How to customize this workflow to your needs Adjust the schedule trigger interval to fit your publishing frequency. Expand the Google Sheet with additional metadata as required. Modify the filter logic to support different content types or statuses. Add extra automation steps, such as sending notifications after publishing.
by Extruct AI
Who’s it for: Sales teams, marketers, and analysts who need to quickly access all the social media and public profile links for any company. How it works / What it does: When you enter a company into the form, this workflow automatically searches for and collects all available links to the company’s social media accounts, review sites, and public profiles from sources like Crunchbase and Zoominfo. All discovered URLs are added directly to your Google Sheet. How to set up: Create an Extruct account at www.extruct.ai/. Open the Extruct table template, find the table ID in your browser’s address bar, and copy it. Make a copy of the provided Google Sheets template to your own Google Drive. In n8n, paste the table ID into the variables node of your flow. Set up Bearer authentication in every HTTP Request node using your Extruct API token (found on the API page in Extruct). In the Google Sheets node, paste the link to your copied template and connect your Google account. Run the flow once to load the fields, then map the output fields to the correct columns in your sheet. Activate the flow and start adding companies via the form. Requirements: Extruct account and API token Extruct table template Google account with Google Sheets How to customize the workflow: You can add your own columns to the Extruct table and your Google Sheet. Just add the new column in both places and map it in the Google Sheets node in n8n.
by Jean-Marie Rizkallah
🧩 Jamf Patch Summary to Slack Stay on top of software patch compliance by automatically posting Jamf patch summaries to Slack. This helps IT and security teams quickly identify outdated installs and take action—without logging into Jamf. ✅ Prerequisites • A Jamf Pro API key with permissions to read software titles and patch summary • A Slack app or incoming webhook URL with permission to post messages to your desired channel 🔍 How it works • Manually trigger the flow or Add a webhook • Fetch a list of software titles from Jamf Pro • Filter to select the software you're tracking (e.g. Chrome, Edge) • Retrieve the patch summary for that software (latest version, up-to-date, out-of-date counts) • Format the summary into Slack Block Kit • Post the formatted summary into a Slack channel ⚙️ Set up steps • Takes ~5–10 minutes to configure • Set your server BaseURL variable in the Set Node • Add your Jamf Pro API credentials in the HTTP Request nodes (Get & Retrieve) • Set the target software ID in the Filter node • Add your Slack webhook URL or token in the final HTTP node • Optional: Adjust Slack formatting inside the Function node
by Oneclick AI Squad
This n8n workflow automates the collection and processing of trip feedback data using Google Sheets as the backend. When new users are added to the system, they automatically receive feedback forms via email, and all responses are systematically processed and stored in Google Sheets for analysis and record-keeping. Good to know The delay buffer prevents system overload and ensures data integrity before sending notifications. All feedback data is automatically organized and maintained in Google Sheets for easy access and analysis. The workflow handles both new user onboarding and trip feedback submission seamlessly. How it works The Trigger - New User Entry node detects when a new user is added to the Google Sheets feedback form database. The Delay - Process Buffer node introduces a processing delay to ensure data is fully processed before sending notifications, avoiding premature actions. The Send Email To That New User node automatically sends a feedback form email to the newly registered user. When a user submits their trip feedback, the Trigger - Trip Form Submission node captures the submission. The Tack All Feedback Item node iterates over each form submission item to process multiple entries if present, ensuring all feedback data is handled. The Update - Trip Feedback Sheet node appends or updates the trip feedback data in the Google Sheets, maintaining an organized record of all responses. How to use Import the workflow into n8n and configure the nodes with your Google Sheets API credentials and email service settings. Set up your Google Sheets with the appropriate columns for user data and feedback responses. Test the workflow by adding a new user entry to verify email delivery and feedback processing. Requirements Google Sheets API credentials with read/write permissions Email service configuration (SMTP or email API) Access to Google Sheets containing user data and feedback forms Customising this workflow Modify the email template in the Send Email To That New User node to match your branding and feedback requirements. Adjust the delay timing in the Delay - Process Buffer node based on your system's processing needs. Customize the Google Sheets structure and update the Update - Trip Feedback Sheet node accordingly to match your data organization preferences.
by Blue Code
It allows you to automate candidate retrieval and onboarding in your HR processes. How it works It monitors a Gmail address for new emails with a PDF attachment It expects the PDF to be a candidate’s CV, extracts the text using OCR, and then structures the data using ChatGPT Once the data is processed, it connects to Notion and adds (or updates) an entry in the specified database How to use Configure your Gmail account and provide your ChatGPT API key Provide an API key for the OCR service in a variable named OCR_SPACE_API_KEY Connect your Notion account Once everything is configured, the workflow will monitor your inbox for new emails. Just send an email with a PDF attachment to the configured address Requirements In addition to Gmail, ChatGPT, and Notion, the system uses a third-party OCR API (OCR SPACE). You’ll need to create an account and obtain an API key You must map the fields returned by ChatGPT to the Notion database, or use the same field names we are using Customising It should be easy to replace Notion with PostgreSQL or another database if needed
by Andrew
Who is this for? This workflow is designed for developers, DevOps engineers, and automation specialists who manage multiple n8n workflows and need a reliable way to monitor for failures and receive alerts in real time. What problem is this workflow solving? Monitoring multiple workflows can be challenging, especially when silent failures occur. This workflow helps ensure you're immediately informed whenever another workflow fails, reducing downtime and improving system reliability. What this workflow does The solution consists of two parts: ERROR NOTIFIER: A centralized workflow that sends alerts through your chosen communication channel (e.g., Telegram, WhatsApp, Gmail). ERROR ALERTER: A node snippet to be added to any workflow you want to monitor. It captures errors and triggers the ERROR NOTIFIER workflow. Once set up, this system provides real-time error alerts for all integrated workflows. Setup Import both workflows: ERROR NOTIFIER (centralized alert handler) ERROR ALERTER (to be added to your monitored workflows) Add credentials for your preferred alert channel: WhatsApp (OAuth or API) Telegram Gmail Discord Slack Activate the workflows: Ensure ERROR NOTIFIER is active and ready to receive triggers. Paste ERROR ALERTER at the end of each workflow you want to monitor, connecting it to the error branch. Sign up for a free consultation and find out how n8n can help you.
by Angel Menendez
Workflow Description Who is this for? This workflow is designed for sales and revenue teams using Gong and Salesforce to track and analyze sales calls. It helps automate the extraction, filtering, and preprocessing of Gong call data for further AI analysis. What problem is this solving? Sales teams often generate large amounts of call data, but not all calls are relevant for deeper analysis. This workflow filters calls based on predefined criteria, extracts relevant metadata, and formats the data before passing it to an AI processing pipeline. What this workflow does Triggers on new Gong calls synced to Salesforce** every hour. Filters calls based on opportunity stage** (Discovery or Meeting Booked). Retrieves Gong call details** via API. Formats call data into a structured JSON object** for AI processing. Passes the structured data to a Gong Call Preprocessor workflow** for further insights. Setup Ensure that you have connected Salesforce and Gong APIs with valid credentials. Modify the Salesforce query in Get all custom Salesforce Gong Objects to match your organization’s requirements. Set the schedule trigger interval in the Run Hourly node if needed. Connect this workflow to an AI processing workflow to analyze call transcripts. Workflow Templates: CallForge - 01 - Filter Gong Calls Synced to Salesforce by Opportunity Stage CallForge - 02 - Prep Gong Calls with Sheets & Notion for AI Summarization CallForge - 03 - Gong Transcript Processor and Salesforce Enricher CallForge - 04 - AI Workflow for Gong.io Sales Calls CallForge - 05 - Gong.io Call Analysis with Azure AI & CRM Sync CallForge - 06 - Automate Sales Insights with Gong.io, Notion & AI CallForge - 07 - AI Marketing Data Processing with Gong & Notion CallForge - 08 - AI Product Insights from Sales Calls with Notion How to customize Change filtering logic: Adjust the **opportunity stage filter (Check if Opportunity Stage is Meeting Booked or Discovery) to match your sales process. Modify data formatting**: Add or remove fields in the Format call into correct JSON Object node to customize the output. Adjust trigger frequency**: Change the Run Hourly node to run at a different interval if required.