by Dhruv Dalsaniya
This workflow connects Telegram to Midjourney through GoAPI, enabling automated image generation and upscaling directly from chat. How it Works Telegram Command Trigger**: The workflow activates upon receiving a message in Telegram. Image Generation**: Your prompt is sent to GoAPI, which then generates an image using Midjourney. Upscale Selection**: You receive the generated image and select an option for upscaling. Image Upscaling**: The selected image is upscaled via GoAPI. Notifications and Logs**: Progress updates are sent to Telegram, and all images are logged in Discord. Set Up Steps Create a Telegram Bot and update credentials in Telegram nodes. Create a GoAPI account, obtain an API key, and update the three HTTP nodes: "Get Generation Task," "Upscale," and "Get Upscale Task". (Optional) Configure the Discord node for logging if desired. Setup takes approximately 10-15 minutes. Detailed descriptions are available in sticky notes within the workflow.
by Zacharia Kimotho
This workflow makes it easier to prepare for meetings and calls by researching your lead right before the call and creates a high-level meeting prep that is sent to your email. This removes the extra steps needed by teams to learn their leads, research, and prepare for the upcoming calls. How does it work This workflow starts when We Capture the webhook from cal.com for new bookings. Ensure you have a field on the form to collect LinkedIn posts. This can be optional or mandatory depending on your preferences. When a new event is booked, we will add the leads to an Airtable CRM for appointments and new bookings. This table will contain all the items and items needed to enrich and maintain your CRM. If the lead has linkedin then we do research on LinkedIn for their content and posts and perform a lead enrichment to get as much info as we can about the leads and create a new meeting prep. What you need Bright data API Cal.com account/calendar. Other calendars can be used too for this eg calendly, Google Calendar, etc with a few tweaks CRM - This can be anything not just airtable Setting it up Create/update your calendar to allow collecting users LinkedIn profiles/bios Add a new webhook to and subscribe to the desired events like below Map the fields from the webhook to match your CRM. If you have no CRM make a copy of this Airtable CRM and map the fields to your account. We will be using the Base and table ID to make the mapping easier Setup your Bright Data API and select the data source as linkedin for the scraping You can edit more data on the bio as needed Update this info to the CRM under the table lead enrichment and map accordingly You can update the prompt on the AI models or work with them as is. Update the Gmail node to send the meeting preps to you and finally update the CRM with the generated Meeting prep This automated process can save your team a couple of minutes each day otherwise spent on other client fulfillment items. If you would like to learn more about n8n templates like this, feel free to reach out via Linkedin Happy productivity!!
by Automate With Marc
📬 What This Workflow Does This workflow automatically scrapes recent high-value congressional stock trades from Quiver Quantitative, summarizes the key transactions, and delivers a neatly formatted report to your inbox — every single day. It combines Firecrawl's powerful content extraction, OpenAI's GPT formatting, and n8n's automation engine to turn raw HTML data into a digestible, human-readable email. Watch Full Tutorial on how to build this workflow here: https://www.youtube.com/watch?v=HChQSYsWbGo&t=947s&pp=0gcJCb4JAYcqIYzv 🔧 How It Works 🕒 Schedule Trigger Fires daily at a set hour (e.g., 6 PM) to begin the data pipeline. 🔥 Firecrawl Extract API (POST) Targets the Quiver Quantitative “Congress Trading” page and sends a structured prompt asking for all trades over $50K in the past month. ⏳ Wait Node Allows time for Firecrawl to finish processing before retrieving results. 📥 Firecrawl Get Result API (GET) Retrieves the extracted and structured data. 🧠 OpenAI Chat Model (GPT-4o) Formats the raw trading data into a readable summary that includes: Date of Transaction Stock/Asset traded Amount Congress member’s name and political party 📧 Gmail Node Sends the summary to your inbox with the subject “Congress Trade Updates - QQ”. 🧠 Why This is Useful Congressional trading activity often reveals valuable signals — especially when high-value trades are made. This workflow: Saves time manually tracking Quiver Quant updates Converts complex tables into a daily, readable email Keeps investors, researchers, and newsrooms in the loop — hands-free 🛠 Requirements Firecrawl API Key (with extract access) OpenAI API Key Gmail OAuth2 credentials n8n (self-hosted or cloud) 💬 Sample Output: Congress Trade Summary – May 21 Nancy Pelosi (D) sold TSLA for $85,000 on April 28 John Raynor (R) purchased AAPL worth $120,000 on May 2 ... and more 🪜 Setup Steps Add your Firecrawl, OpenAI, and Gmail credentials in n8n. Adjust the schedule node to your desired time. Customize the OpenAI system prompt if you want a different summary style. Deploy the workflow — and enjoy your daily edge.
by Oskar
With this workflow you can extract data from resume documents uploaded via a Telegram bot. Workflow transform readable content of PDF resume into structured data, using AI nodes and returns PDF with formatted, plain HTML. You can modify this workflow to perform other actions with structured data (e.g. insert it into database or create other, well-formatted documents). Functionality of this workflow was presented during the n8n community call on March 7, 2024 - recording of presentation available here. ⚠️ Workflow made for demo purposes. If you want to use it in real life, please make sure necessary measures for personal data protection are set. How it works? User uploads readable PDF resume document into Telegram bot. After authentication based on chat ID parameter, workflow extracts text from the PDF and transfers it into AI chain with connected sub-nodes: OpenAI Chat Model and Structured Output (JSON) Parser. Then, each extracted section (employment history, projects etc.) is formatted into desired HTML structure. Finally, the document is converted into new, structured PDF using Gotenberg. 💡 This workflow requires installed Gotenberg. If you are not familiar with this software, please have a look on my YouTube tutorial. You can also replace call to Gotenberg with other PDF generation service (such as PDFMonkey or ApiTemplate). Set up steps Create Telegram bot and add its credentials in n8n. Set your chat ID parameter in Auth node. Adjust JSON schema in Structured Output Parser according to your needs. Optionally: replace HTTP call to Gotenberg with PDF generation service of your choice. If you like this workflow, please subscribe to my YouTube channel and/or my newsletter.
by NonoCode
Who is this template for? This workflow template is designed for accounting, human resources, and IT project management teams looking to automate the generation of PDF and Word documents. It can be particularly useful for: The accounting department: for generating invoices in PDF format, thus streamlining the invoicing process and payment tracking. The human resources department: for creating employment contracts in PDF, simplifying the administrative management of employees. IT project management teams: for producing Word documents, such as project specifications, to clearly define project requirements and objectives. Example result in mail This PDF and Word document generation workflow offers a practical and efficient solution for automating administrative and document-related tasks, allowing teams to focus on higher-value activities. How it works This workflow currently operates with an n8n form, but you can easily replace this form with a webhook triggered by an external application such as AirTable, SharePoint, DocuWare, etc. Once the configuration information is retrieved, we fill the API request body of JSReport. The body is defined at the time of template creation in JSReport (Example of JSReport usage). Then, in a straightforward manner, we fetch the PDF and send it via email. Here's a brief overview of this n8n workflow template: Link to n8n workflow template presentation To summarize This workflow integrates with an n8n form, but it's flexible to work with various triggering methods like webhooks from other applications such as AirTable, SharePoint, or DocuWare. After configuring the necessary information, it populates the API request body of JSReport, which defines the template in JSReport. Once the template is populated, it retrieves the PDF and sends it via email. In essence, it streamlines the process of generating PDF documents based on user input and distributing them via email. Instructions: Create a JSReport Account: Sign up for a JSReport account to create your PDF template model. Define PDF Template in JSReport: Use JSON data from your system to set up the content of your PDF template in JSReport. Configure HTTP Request in n8n: Use the HTTP Request node in n8n to send a request to JSReport. Set the node's body to the JSON data defining your PDF template. Watch the Video: For detailed setup guidance, watch the setup video. Remember, this template was created in n8n v1.38.2.
by NonoCode
Who is this template for? This workflow template is designed for teams involved in training management and feedback analysis. It is particularly useful for: HR Departments**: Automating the collection and response to training feedback. Training Managers**: Streamlining the process of handling feedback and ensuring timely follow-up. Corporate Trainers**: Receiving direct feedback and taking actions to improve training sessions. This workflow offers a comprehensive solution for automating feedback management, ensuring timely responses, and improving the quality of training programs. How it works This workflow operates with an Airtable trigger but can be easily adapted to work with other triggers like webhooks from external applications. Once feedback data is captured, the workflow evaluates the feedback and directs it to the appropriate channel for action. Tasks are created in Usertask based on the feedback rating, and notifications are sent to relevant parties. Here’s a brief overview of this n8n workflow template: Airtable Trigger**: Captures new or updated feedback entries from Airtable. Switch Node**: Evaluates the feedback rating and directs the workflow based on the rating. Webhook**: Retrieves the result of a Usertask task. Task Creation**: Creates tasks in Usertask for poor feedback. Creates follow-up tasks for fair to good feedback. Documents positive feedback and posts recognition on LinkedIn for very good to excellent ratings. Notifications**: Sends email notifications to responsible parties for urgent actions. Sends congratulatory emails and posts on LinkedIn for positive feedback. To summarize Flexible Integration**: This workflow can be triggered by various methods like Airtable updates or webhooks from other applications. Automated Task Management**: It creates tasks in Usertask based on feedback ratings to ensure timely follow-up. Multichannel Notifications**: Sends notifications via email and LinkedIn to keep stakeholders informed and recognize successes. Comprehensive Feedback Handling**: Automates the evaluation and response to training feedback, improving efficiency and response time. Instructions: Set Up Airtable: Create a table in Airtable to capture training feedback. Configure n8n: Set up the Airtable trigger in n8n to capture new or updated feedback entries. Set Up Usertask: Configure the Usertask nodes in n8n to create and manage tasks based on feedback ratings. Configure Email and LinkedIn Nodes: Set up the email and LinkedIn nodes to send notifications and post updates. Test the Workflow: Run tests to ensure the workflow captures feedback, creates tasks, and sends notifications correctly. Video : https://youtu.be/U14MhTcpqeY Remember, this template was created in n8n v1.38.2.
by Mark Shcherbakov
Video Guide I prepared a detailed guide that showed the whole process of building an AI bot, from the simplest version to the most complex in a template. .png) Who is this for? This workflow is ideal for developers, chatbot enthusiasts, and businesses looking to build a dynamic Telegram bot with memory capabilities. The bot leverages OpenAI's assistant to interact with users and stores user data in Supabase for personalized conversations. What problem does this workflow solve? Many simple chatbots lack context awareness and user memory. This workflow solves that by integrating Supabase to keep track of user sessions (via What this workflow does This Telegram bot template connects with OpenAI to answer user queries while storing and retrieving user information from a Supabase database. The memory component ensures that the bot can reference past interactions, making it suitable for use cases such as customer support, virtual assistants, or any application where context retention is crucial. 1.Receive New Message: The bot listens for incoming messages from users in Telegram. Check User in Database: The workflow checks if the user is already in the Supabase database using the Create New User (if necessary): If the user does not exist, a new record is created in Supabase with the telegram_id and a unique Start or Continue Conversation with OpenAI: Based on the user’s context, the bot either creates a new thread or continues an existing one using the stored Merge Data: User-specific data and conversation context are merged. Send and Receive Messages: The message is sent to OpenAI, and the response is received and processed. Reply to User: The bot sends OpenAI’s response back to the user in Telegram. Setup Create a Telegram Bot using the Botfather and obtain the bot token. Set up Supabase: Create a new project and generate a Create a new table named create table public.telegram_users ( id uuid not null default gen_random_uuid (), date_created timestamp with time zone not null default (now() at time zone 'utc'::text), telegram_id bigint null, openai_thread_id text null, constraint telegram_users_pkey primary key (id) ) tablespace pg_default; OpenAI Setup: Create an OpenAI assistant and obtain the Customize your assistant’s personality or use cases according to your requirements. Environment Configuration in n8n: Configure the Telegram, Supabase, and OpenAI nodes with the appropriate credentials. Set up triggers for receiving messages and handling conversation logic. Set up OpenAI assistant ID in "++OPENAI - Run assistant++" node.
by Darryn Balanco
This workflow is designed to automate task reminders by retrieving tasks from a Notion database and sending reminders to Slack users. It checks for incomplete tasks from a Notion database and sends a Slack message to the relevant users with the task details and due dates. The automation is scheduled to run every weekday at 9:00 AM, ensuring that users are always reminded of pending tasks. Who is this for? This workflow is ideal for teams or individuals who manage their tasks using Notion but rely on Slack for communication. It provides an automated solution for ensuring that tasks in Notion are followed up on, reducing the risk of missing deadlines. What problem is this workflow solving? Often, team members need to be reminded of tasks from various platforms. This workflow bridges the gap between task management in Notion and communication in Slack by automatically sending task reminders. It ensures that team members are informed of their pending tasks each morning, helping them stay organized and on top of their work. What this workflow does Triggers every weekday at 9:00 AM: The workflow runs at 9:00 AM, Monday through Friday. Fetches tasks from Notion: It retrieves tasks from a Notion database. Filters incomplete tasks: The workflow filters tasks that are not marked as "Done." Fetches Slack users: It retrieves all Slack users to ensure that the reminders are sent to the correct user. Matches tasks to the correct user: It checks the Notion task assignee and matches it with the appropriate Slack user. Sends Slack reminders: Sends a Slack direct message to each user with their incomplete tasks and due dates. Setup Connect Notion: You will need to connect your Notion account and specify the database containing tasks. Connect Slack: Authenticate with Slack using OAuth to allow the workflow to send messages on your behalf. Notion user email mapping: Ensure that the Notion users’ email addresses are correctly mapped to their corresponding Notion user profiles. Slack user full name mapping: Ensure that the Slack users’ full names are correctly mapped to their corresponding Slack user profiles. Adjust schedule: If needed, modify the schedule node to run at a different time or frequency. How to customize this workflow Change the database**: You can adjust the workflow to pull tasks from a different Notion database by modifying the "Get To Dos from Tasks Database" node. Add more users**: The workflow currently supports two users, but you can expand it to support more by adding additional logic in the "Switch for Notion Users Emails" node. Modify the message format**: The Slack message content can be customized further to include more task details or change the message format. Workflow Summary This workflow automates sending task reminders from a Notion database to Slack users. By running every weekday morning, it ensures that users receive timely reminders of their incomplete tasks, helping them stay organized and efficient.
by Alexander Bentlund
What this workflow does This workflow is used as a bridge between your private Google Calendar to your Work Outlook Calendar. The same mentality can be used with other calendar types. Description Send a copy of a Google Calendar event to your Outlook work account as a reminder to yourself or co-workers that you are booked for private matters like "Dentist appointment", "Taking kids to Disney Land" etc. How it works Create event -- You create a Google Calendar event. -- A trigger in n8n reacts and collects the event info. -- An Outlook event is created with the same information in your Outlook Calendar. Cancel -- You cancel an event in Google Calendar -- A trigger in n8n reacts and collects the canceled event info. -- Using the Outlook node to getAll events searches for the event in your Outlook Calendar. -- If the event is found it is then deleted. -- An email with the details of the cancelation is then sent to your Outook e-mail address. The n8n Merge node is used to combine results from two different nodes that are necessary to create the cancelled event e-mail notification. Important notice Make sure you use a dedicated Google Calendar for private events that will be displayed in your work Outlook calendar in order to avoid displaying unwanted calendar events that you do not wish to share with your co-workers. Requirements Active workflow* Google Calendar OAuth2 API Microsoft Outlook OAuth2 API .*The Google Calendar trigger is activated only if this workflow is active. You can however TEST the workflow in the editor by clicking “Test step”. You will then receive a response from Google Calendar that you can use in order to view what data Google Sends.
by Edoardo Guzzi
Simple Social: Instagram Single Image Post with Facebook API Who is this workflow for? This workflow is designed for businesses, social media managers, content creators, and developers who need to automate the process of posting single images to Instagram using the Facebook API. It is ideal for anyone looking to streamline their social media posting process, saving time and ensuring consistent content delivery. Use Case / Problem Solved Manually posting images and captions on Instagram can be time-consuming, especially for businesses and content creators managing multiple accounts. This workflow automates the process from image preparation to publishing, reducing manual effort and increasing efficiency. What this workflow does Trigger Initialization: The workflow starts with a manual trigger that can be adapted to other triggers (e.g., HTTP webhook or schedule). Set Parameters: The workflow includes a node that sets essential parameters, such as the image URL, Instagram business account ID, and caption. Prepare Instagram Media: A node prepares the media for upload using the Facebook API, sending the image and caption for pre-publication processing. Check Media Upload Status: The workflow verifies if the media preparation is complete. Conditional Check: If the media preparation is successful, the workflow proceeds to publish; otherwise, it triggers an error-handling path. Publish Media: The media is published on Instagram if the conditions are met. Post-Publish Check: The workflow checks the status after publication. Conditional Check for Publication: If the publication status is "PUBLISHED," it triggers a success path; otherwise, it triggers a failure handling. Email Notifications: The workflow sends email notifications to indicate successful or unsuccessful outcomes. Setup Here is a quick video in italian language with sub eng(https://youtu.be/obWJFJvg_6g) Add API Credentials: Ensure that valid Facebook API credentials are added and configured for use. Permissions Required: Ensure your app has the necessary permissions (ads_management, business_management, instagram_basic, instagram_content_publish, pages_read_engagement). App review may be required for external user access. Node Configuration: Customize the Set Instagram Parameters node to specify the image URL, caption, and Instagram business account ID. Trigger Adaptation: Adapt the initial trigger if needed to fit your workflow's requirements (e.g., schedule, webhook). How to customize this workflow Change the Image URL and Caption**: Modify the Set Instagram Parameters node to change the image and caption. Trigger Customization**: Replace the manual trigger with other triggers like a webhook to automate posting based on external events. Notifications**: Adjust the email nodes to send customized messages or trigger other workflows based on the outcome. Limitations Image Format**: Only JPEG images are supported. Extended JPEG formats such as MPO and JPS are not compatible. Unsupported Tags**: Shopping tags, branded content tags, and filters are not supported. Instagram TV**: Publishing to Instagram TV is not supported. Rate Limit**: Instagram accounts are limited to 50 API-published posts within a rolling 24-hour period. Carousels count as a single post. Check usage with GET /{ig-user-id}/content_publishing_limit. Example Usage Imagine managing a business account that needs consistent posts. You can schedule this workflow or trigger it manually to automatically post images with captions at the right time, ensuring that your audience stays engaged without manual posting efforts.
by Alex Kim
Automate Google Analytics Reporting with n8n This n8n workflow collects, processes, and formats Google Analytics data into a comprehensive HTML report. The report is segmented into three primary categories: Engagement Stats, Search Results, and Country Views. The formatted report can be emailed or saved as a document, and the workflow includes error handling and logging for better debugging. Overview Purpose To automate the extraction, processing, and presentation of Google Analytics data in a visually appealing and structured format for easier insights and decision-making. Features Data Parsing**: Individual parsers process raw Google Analytics data for different time periods and categories. Data Aggregation**: Combines parsed data into a single structured JSON object. HTML Report Generation**: Formats the aggregated data into an HTML table with color-coded segments for better readability. Email or Document Output**: The formatted report can be emailed or saved as a Google Doc (will need additional setup). Error Handling**: Includes checks for missing data and detailed error messages for debugging. Workflow Steps Data Fetching: Six separate Google Analytics data pulls: Page Engagement Stats (This Week and Prior Week) Google Search Results (This Week and Prior Week) Country Views (This Week and Prior Week) Data Parsing: Each data pull is processed using a dedicated parser node to generate a URL-safe string. Example nodes: Parse - Get Page Engagement This Week Parse - Country Views Prior Week Data Aggregation: Aggregates parsed data into a structured JSON object using the Aggregate Data node. Ensures consistency and handles missing or malformed data. HTML Report Generation: Creates a formatted HTML report with color-coded tables for each segment: Engagement Stats: Green Search Results: Blue Country Views: Orange Includes headers and neatly formatted tables for each data set. Output: The report can be sent via email using the Gmail API or saved to Google Docs. Example nodes: Gmail node for email delivery. Google Docs node for saving the report as a document. Requirements Prerequisites Google Cloud Setup**: Enable Google Analytics API. Enable Gmail API (if using email output). Generate OAuth credentials for API access. n8n Installation**: Self-hosted n8n instance with required nodes (Gmail, Google Docs, etc.). Free Cloud-based n8n account. Environment Variables Ensure API credentials and tokens are set up in the n8n environment. Update the respective nodes with client ID, client secret, and access tokens. Configuration Google Analytics Configure the Get Report nodes with the appropriate property ID and metrics. Ensure correct date ranges are selected for each node. Formatting Node The Format Data node processes aggregated data and generates the HTML content. Customize the HTML styling and segment colors as needed. Email Node Configure the Gmail node with OAuth credentials. Set the recipient email address and subject line dynamically. Error Handling Common Issues Authentication Errors: Ensure OAuth credentials are correct. Verify that the APIs are enabled in the Google Cloud Console. Empty Data: Check the raw data from Google Analytics. Validate the property ID and query parameters in the Get Report nodes. Parsing Errors: Ensure the parser nodes are correctly configured and match the expected input format. Debugging Use debug logs in each node to identify data flow issues. Add error-handling nodes to capture and log issues during execution. Example Usage Run the Workflow Trigger the workflow to fetch, process, and format Google Analytics data. Verify Output Check the formatted HTML output in the debug logs. Ensure the email or Google Doc contains the correctly formatted report. Future Enhancements Add support for additional metrics or dimensions. Integrate with Slack for notifications. Enable scheduling for automated reports. Add a visual dashboard for real-time analytics.
by Jimleuk
This n8n template scrapes a list of AI grants from grants.gov and qualifies them using AI; determining interest and eligibility for the business. It then sends an email alert of interesting items to team members in an email. The template also shows how you can use the "Remove Duplicates" node to simplify deduplication of external listings without the need to manage this yourself. Not particularly interested in AI Grants? This template works for other tender websites as long as you're able to scrape them. How it works A scheduled trigger is set to fetch a list of AI grants listed on the grants.gov website in the past day. A Remove Duplicates node is used to track Grant IDs to filter out those already processed by the workflow. New grants are summarized and analysed by AI nodes to determine eligibility and interest which is then saved to an Airtable database. Another scheduled trigger starts a little later than the first to collect and summarize the new grants The results are then compiled into an email template using the HTML node, in the form of a newsletter designed to alert and brief team members of new AI grants. This email is then sent to a list of subscribers using the gmail node. How to use Make a copy of sample Airtable here: https://airtable.com/appiNoPRvhJxz9crl/shrRdP6zstgsxjDKL The filters for fetching the grants is currently set to the "AI" category. Feel free to change this to include more categories. Not interested in grants, this template can works for other sources of leads just change the endpoint and how you're defining the item ID to track. Requirements Airtable for database OpenAI for LLM Note: These are not hard requirements and can be exchanged for services available to you. customising the workflow "Eligibility" criteria at this stage may be better served by identifying hard blockers instead ie. certifications, geographical considerations or certain legal checks. Be sure to mention any hard blockers into the Eligibility prompt. Not particularly interested in AI prompts? This template works for other tender websites as long as you're able to scrape them.