by iamvaar
This workflow automates the process of handling bug reports submitted through a form, from checking for duplicates on GitHub to logging the report and sending a notification. 1. A Bug is Reported 🐛 Trigger:* The entire process kicks off when a user submits a bug report through a *JotForm**. This form collects the user's name, email, and a description of the bug. 2. The AI Agent Gets to Work 🤖 Action:* The submitted bug description is sent to an *AI Agent** powered by Google Gemini. Intelligence:** The agent has a clear set of instructions: Check for Duplicates: It first connects to a specific GitHub repository (iamvaar-dev/pomodoro-timer) and checks if an issue matching the bug description already exists. Create a New Issue: If it's a new bug (not found on GitHub), the agent automatically creates a new issue in the repository. Report Back: The agent then neatly packages its findings into a structured JSON format, noting the issue's details and whether it was already present on GitHub. 3. Log Everything in Google Sheets 📝 Action:* The information from the JotForm submission and the AI Agent's analysis is sent to a *Google Sheet**. Purpose:** This step creates a clean log of all submitted bugs, including who submitted them and whether a new GitHub issue was created for them. 4. Prepare a Smart Notification 📣 Action:* A small piece of *JavaScript code** runs to create a custom notification message. Logic:** The message is dynamic: If the bug was already on GitHub, the message will say something like, "An issue was submitted, but it's already reported. No action is needed." ✅ If the bug was new, the message will be more urgent, like, "A new bug was reported and an issue has been created on GitHub. Please review it." ❗ 5. Send the Alert via Telegram 📲 Final Step:* The custom message created in the previous step is sent to a specific *Telegram chat** using a bot. This instantly notifies the relevant people about the new bug report and what action (if any) is required.
by Rosh Ragel
What It Does This workflow reads Gmail threads labeled Invoice Needed, extracts invoice and client details using an AI agent, and creates a draft invoice in QuickBooks Online. It then downloads the invoice as a PDF and drafts a reply email with the invoice attached — all automatically. Perfect for freelancers, agencies, or small businesses looking to streamline client billing from email. Prerequisites To use this workflow, you’ll need: A Gmail OAuth2 credential A QuickBooks OAuth2 credential An OpenAI credential (for AI-powered data extraction) How to Label Threads In Gmail, apply the label Invoice Needed to any email thread that contains details for an invoice request. The workflow will process only those threads. How It Works Trigger: The workflow runs on a schedule (e.g., every hour) Fetch Emails: Gmail node pulls all threads with the Invoice Needed label Group Messages: Emails in each thread are grouped together AI Extraction: An OpenAI-powered agent extracts client info, billing address, invoice amount, and description Add a New Client: This node will attempt to create a new client in QuickBooks Find Existing Client If the client already exists, this node will find the client's id Create Invoice: An invoice is created based on the extracted details Download PDF: The invoice is saved as a PDF Draft Reply: A Gmail draft is created with a template message and the invoice attached Remove Label: The processed thread is untagged to avoid duplicates Example Use Cases Automatically generate invoices from client emails Use AI to extract invoice data without manual input Ensure consistent and timely billing Create a paper trail with attached PDFs in replies Free up your inbox by processing and clearing labeled threads How to Use Set your schedule (e.g., every hour or more often if needed) Select a product in the Create A New Invoice node Ask the client to provide invoice details if needed (company name, billing address) Add the Invoice Needed label to threads manually, via a Gmail filter or via another workflow Review and send the drafted replies in Gmail Optionally, add your branding or custom template to the email message Optimization Instructions: For larger companies with frequent invoice requests, consider shortening the interval between workflow runs. This helps prevent the system from processing too many labeled threads at once, ensuring smoother performance and faster response times. Customization Options Add line multiple items based on the product or service purchased instead of a single invoice row Add conditional logic to skip certain threads Auto-send emails instead of saving drafts (after testing) Use custom prompts to extract additional fields Why It's Useful This workflow eliminates the manual labor of crafting invoices from scratch by automating the entire process—from email to invoice. It reduces the need to switch between multiple apps, since you no longer have to open QuickBooks Online to create an invoice. By streamlining your billing workflow, it saves time, minimizes errors, and lets you stay focused on your actual work while still keeping full control over outgoing communications.
by Marth
Okay, here are the "How It Works" and "Setup Steps" for your "Automated Social Media Content Distribution System," presented clearly in Markdown. How It Works (Workflow Stages) ⚙️ This system transforms manual, repetitive tasks into a smooth, automated content distribution pipeline: Content Submission & Trigger: You add a new row to your designated Google Sheet with all the content details (Title, URL, Short_Description, Image_URL, Hashtags, and boolean flags for which platforms to post to). The Google Sheets Trigger node immediately detects this new entry, initiating the workflow. Content Preparation: The Set node takes the raw data from your Google Sheet and formats it into a cohesive text string (social_media_text_core) that is suitable for posting across different social media platforms. Conditional Social Media Posting: A series of If nodes (Check Facebook Post, Check Twitter Post, Check LinkedIn Post) sequentially check your preferences (based on the Post_to_Facebook, Post_to_Twitter, Post_to_LinkedIn columns in your sheet). If a platform is marked TRUE, the corresponding social media node (Facebook, Twitter, LinkedIn) is activated to publish your content. If FALSE, that platform is skipped, and the workflow moves to the next check. Status Update & Notification: After attempting to post to all selected platforms, the Google Sheets (Update) node updates the Publication_Status column of your original row to "Published." This prevents re-posting and provides a clear record. Finally, the Slack (Notification) node sends an alert to your chosen Slack channel, confirming that the content has been successfully distributed. Setup Steps 🛠️ (Build It Yourself!) Follow these detailed steps to build and implement this workflow in your n8n instance: Prepare Your Google Sheet: Create a new Google Sheet (e.g., named "Social Media Posts"). Set up the following exact column headers in the first row: Title, URL, Short_Description, Image_URL, Hashtags, Post_to_Facebook, Post_to_Twitter, Post_to_LinkedIn, Publication_Status Fill in a test row with some sample data, ensuring TRUE/FALSE values for the posting flags. Gather Your API Keys & Credentials: Google Sheets Credential: You'll need an OAuth2 credential for Google Sheets in n8n to allow read/write access to your sheet. Facebook Credential: An OAuth2 credential for Facebook with permissions to post to your selected Page. Twitter Credential: A Twitter API credential (API Key, API Secret, Access Token, Access Token Secret) from your Twitter Developer App. LinkedIn Credential: An OAuth2 credential for LinkedIn with permissions to share updates to your profile or organization page. Slack Credential: A Slack API token (Bot User OAuth Token) for sending messages to your channel. Build the n8n Workflow Manually (10 Nodes): Start a new workflow in n8n. Drag and drop each of the following nodes onto the canvas and connect them as described below: Google Sheets Trigger Name: Google Sheets Trigger Parameters: Authentication: Select your Google Sheets credential. Spreadsheet ID: [Copy the ID from your Google Sheet's URL] Sheet Name: [Your Sheet Name, e.g., 'Sheet1' or 'Content'] Watch For: Rows Events: Added Connections: Output to Set Content Parameters. Set Name: Set Content Parameters Parameters: Values to Set: Add a new value: Type: String Name: social_media_text_core Value: ={{ $json.Title }} - {{ $json.Short_Description }}\nRead more: {{ $json.URL }}\n{{ $json.Hashtags }} Connections: Output to Check Facebook Post. If Name: Check Facebook Post Parameters: Value 1: ={{ $json.Post_to_Facebook }} Operation: is true Connections: True output to Post Facebook Message. False output to Check Twitter Post. Facebook Name: Post Facebook Message Parameters: Authentication: Select your Facebook credential. Page ID: [YOUR_FACEBOOK_PAGE_ID] Message: ={{ $json.social_media_text_core }} Link: ={{ $json.URL }} Picture: ={{ $json.Image_URL }} Options: Published (checked) Connections: Output to Check Twitter Post. If Name: Check Twitter Post Parameters: Value 1: ={{ $json.Post_to_Twitter }} Operation: is true Connections: True output to Create Tweet. False output to Check LinkedIn Post. Twitter Name: Create Tweet Parameters: Authentication: Select your Twitter credential. Tweet: ={{ $json.social_media_text_core }} Image URL: ={{ $json.Image_URL }} Connections: Output to Check LinkedIn Post. If Name: Check LinkedIn Post Parameters: Value 1: ={{ $json.Post_to_LinkedIn }} Operation: is true Connections: True output to Share LinkedIn Update. False output to Update Publication Status. LinkedIn Name: Share LinkedIn Update Parameters: Authentication: Select your LinkedIn credential. Resource: Share Update Type: Organization or Personal (Choose as appropriate) Organization ID: [YOUR_LINKEDIN_ORG_ID] (If Organization type selected) Content: ={{ $json.social_media_text_core }} Content URL: ={{ $json.URL }} Image URL: ={{ $json.Image_URL }} Connections: Output to Update Publication Status. Google Sheets Name: Update Publication Status Parameters: Authentication: Select your Google Sheets credential. Spreadsheet ID: [YOUR_GOOGLE_SHEET_CONTENT_ID] Sheet Name: [Your Sheet Name, e.g., 'Sheet1' or 'Content'] Operation: Update Row Key Column: URL Key Value: ={{ $json.URL }} Values: Add a new value: Column: Publication_Status Value: Published Connections: Receives connections from both Share LinkedIn Update and the False branch of Check LinkedIn Post. Slack Name: Send Slack Notification Parameters: Authentication: Select your Slack credential. Chat ID: [YOUR_SLACK_CHANNEL_ID] Text: New content "{{ $json.Title }}" successfully published to social media! 🎉 Check: {{ $json.URL }} Connections: Output to Update Publication Status. Final Steps & Activation: Test the Workflow: Before activating, manually add a new row to your Google Sheet or use n8n's "Execute Workflow" button (if available for triggers). Observe the flow through each node to ensure it behaves as expected and posts to your social media accounts. Activate Workflow: Once you are confident it's working correctly, turn the workflow "Active" in the top right corner of your n8n canvas.
by Jimmy Gay
Automate your B2B prospecting by finding local businesses and sending AI-personalized outreach emails to qualified contacts. What This Workflow Does This workflow acts as a powerful AI Sales Assistant, automating your entire B2B lead generation process for local businesses. It saves you countless hours of manual research and outreach by intelligently finding prospects, enriching their data, and drafting personalized emails tailored to their specific business. Stop prospecting manually and start scaling your outreach efforts effectively. How It Works The process is designed to be both smart and efficient: Find Businesses: It starts by searching for local businesses based on your criteria (e.g., "engineering in London"). Qualify & Enrich: It filters out businesses without a website. For the valid ones, it scrapes the website's title and description to understand what they do. Identify Contacts: Using Hunter.io, it finds professional email contacts associated with the company and verifies their validity to ensure high-quality leads. Generate AI-Personalized Emails: For each valid contact, it uses OpenAI to write a unique, short, and professional outreach email. The AI uses the scraped website information to create a personalized hook, showing you've done your research. Send & Organize: The final email is sent automatically via your Gmail account. If a business has no website, a follow-up task is created in your Google Tasks for manual review. Key Benefits Save Time: Automate a time-consuming prospecting process from start to finish. Increase Reply Rates: Engage prospects with personalized emails, not generic templates. Scale Your Outreach: Generate and contact dozens of qualified leads effortlessly. Stay Organized: Never lose a lead, thanks to the integrated task management for manual follow-ups.
by Jitesh Dugar
Who’s it for This template is designed for anyone who wants to use Telegram as a personal AI assistant hub. If you often juggle tasks, emails, calendars, and expenses across multiple tools, this workflow consolidates everything into one seamless AI-powered agent. What it does Jarvis listens to your Telegram messages (text or audio) and processes them with OpenAI. Based on your request, it can: ✅ Manage tasks (create, complete, or delete) 📅 Handle calendar events (schedule, reschedule, or check availability) 📧 Send, draft, or fetch emails with Gmail 👥 Retrieve Google Contacts 💵 Log and track expenses All responses are returned directly to Telegram, giving you a unified command center. How to set up Clone this template into your n8n workspace. Connect your accounts (Telegram, Gmail, Google Calendar, Contacts, etc.). Add your OpenAI API key in the Credentials section. Test by sending a Telegram message like “Create a meeting tomorrow at 3pm” or “Add expense $50 for lunch.” or "Draft a reply with a project proposal to that email from Steve" Requirements n8n instance (cloud or self-hosted) Telegram Bot API credentials Gmail, Google Calendar, and Google Contacts credentials (optional, if using those features) OpenAI API key ElevenLabs API Key (optional, if you need audio note support) How to customize Swap Gmail with another email provider by replacing the Gmail MCP node. Add additional MCP integrations (e.g., Notion, Slack, CRM tools). Adjust memory length to control how much context Jarvis remembers. With this template, you can transform Telegram into your all-in-one AI assistant, simplifying workflows and saving hours every week.
by noda
📄 Workflow Overview Title: Spotify Emotion-to-News Card Generator (APITemplate.io + Slack) What it does: This workflow analyzes the emotion of your recently played Spotify track using OpenRouter (LLM), fetches a related trending Google News article, generates a visual news card with APITemplate.io, and posts it to Slack. 👥 Who’s it for Music lovers, marketers, and developers who want to automatically turn their listening mood into a visual daily digest or Slack update. ⚙️ How it works Spotify Trigger — Fetch your recently played tracks. LLM (Emotion Analyzer) — Infer the main emotion from the track title and artist. Google News Query — Build an RSS URL based on the emotion keyword. RSS Reader — Retrieve trending news headlines. APITemplate.io — Render the top article into an image card. Slack — Post title, link, and card image into your channel. 🧰 Requirements Spotify API credentials OpenRouter API key APITemplate.io account (with template ID) Slack OAuth2 connection 🪄 How to customize Replace the APITemplate.io template ID with your own. Adjust the RSS URL language (hl=en-US → hl=ja-JP for Japanese news). Modify the Slack message text for your preferred channel tone. ⚠️ Disclaimer If you use community nodes (LangChain), this template is for self-hosted n8n only.
by Shrishti S Nagar
This workflow automates your LinkedIn content curation and posting using AI. Every week, it pulls the latest marketing insights from an RSS feed (like HubSpot’s), analyzes them, and turns the best article into a crisp, human-style LinkedIn post — complete with branded visuals and headline text using the Templated API. You can fully customize it for your own brand’s voice, niche, and platform. ⚙️ What It Does 📰 Fetches articles from any RSS feed you choose 🧩 Uses AI (Gemini) to: Pick the most relevant article for your target audience Rewrite it into a short, save-worthy post (<200 words) Optimize tone, clarity, and structure for readability 🖼️ Uses Templated API to: Generate branded visuals with your own layout or assets Auto-inject headline text into image templates Maintain consistent post design across your feed 🤖 Auto-posts to LinkedIn (only if AI confidence ≥7/10) 🪄 Setup Instructions Replace the RSS URL in the “RSS Read” node with your preferred feed. Connect your own credentials: Google Gemini (PaLM) API key via Credentials LinkedIn OAuth2 credentials Templated API credentials (optional, for image/headline generation) Review and tweak AI prompts in: “Best Article Finder” “Content Creator” “Post Optimizer” Adjust your posting frequency, tone, or feed to suit your brand. Activate and let it run automatically. 💡 Ideal For Solo marketers or consultants managing content calendars Startup marketing teams automating top-of-funnel content Founders building personal brands on LinkedIn Creators who want branded visuals with consistent design
by Lucio
If you want to reach a wider audience, having your video titles and descriptions in multiple languages can help you connect with more viewers. This template provides the configuration needed to generate translations and update them directly on YouTube. How it works Defines Video ID and Languages** You can get the ID from the video URL. If you’re unsure, click the Share button, it will provide the ID at between the "/" and the "?si=" Fetches video information** As long as the workflow has the video ID, it can retrieve the video information, whether the video is published or not. Check languages to translate** If no default language is set in the video details, the workflow will assume "en" (English) as the default. To overwrite the default language, replace 'en' in line 2 of the code. AI Agent Translator**: You can improve results by refining the prompt. Feel free to experiment, just don’t change the formatting structure. Updates Video Localization** The API requires to send current default version again along with the translations in the Body. Output URL** returns the URL for the video’s localization. It may take a few seconds to appear—refresh and try again if needed. ⚠ The translation will overwrite any existing translations for the same language. How to Use (First time only) Set up credentials for your user. Edit the node "Defines Video ID and Languages". Click the Execute Workflow button. Enjoy your translated video titles and descriptions! More details can be found in the sticky notes under each node. Requirements To implement this workflow, you will need to configure credentials for the following nodes: Fetch Video Information**: YouTube Auth This of course, assumes that you have a YouTube account. The account creation and setup takes time, but luckily it's the only slow part, once done, you are good to go. AI Agent Translator**: Google Gemini (PaLM) API Both credentials can be created directly inside the node by clicking it, then selecting “Create Credential to Connect With” and following the instructions provided by the n8n Assistant. If you already have the credentials, simply select them! No paid plan is required, free tiers are sufficient. Keep in mind the request limits if you extend or modify this workflow to do multiple videos at once.
by JJ Tham
Automate Google Ads Search Term Analysis and Send Insights to Slack Stop manually digging through endless Google Ads search term reports! 📊 This workflow puts your brand campaign analysis on autopilot, acting as an AI-powered performance marketer that works for you 24/7. This template fetches your recent search term data, uses AI to identify wasted ad spend and new keyword opportunities, and delivers a concise, actionable report directly to your Slack channel—complete with buttons to approve the changes. ⚙️ How it works This workflow connects to your Google Ads account to pull search term data from your brand campaigns. It then feeds this data to Google Gemini with a specific prompt to: Identify Non-Brand Keywords: Isolate all search terms that are not related to your brand. Calculate Wasted Spend: Find terms with zero conversions and sum up the total cost. Flag Opportunities: Highlight non-brand terms that are converting for manual review. Send to Slack: Format the findings into a beautiful, easy-to-read Slack message with interactive buttons to approve adding the wasteful terms as negative keywords. 👥 Who’s it for? PPC & SEM Managers: Save hours each week by automating the search query mining process. Performance Marketers: Instantly spot and plug budget leaks in your brand campaigns. Digital Marketing Agencies: Provide proactive, data-driven insights to clients with zero manual effort. 🛠️ How to set up This is an advanced workflow that requires several connection points. Setup involves connecting your Google Ads account, providing your Manager and Client IDs, specifying which campaign and brand terms to analyze, configuring the direct API call with your developer token, and finally connecting your Slack workspace. 👉 For a detailed, step-by-step guide, please refer to the yellow sticky note inside the workflow.
by Atta
What it does The job search process is filled with manual, frustrating tasks—reading endless job descriptions only to find the seniority is wrong, the role requires a language you don't speak, or a "hybrid" job has an impossible commute. This workflow acts as a personal AI assistant that automates the entire top of your job search funnel. It doesn't just find jobs; it reads the full description, checks the commute time from your home, filters by your specific criteria, and even compares the job requirements against your CV to calculate a match score. It's a personalized, decision-making engine that only alerts you to the opportunities that are a perfect fit. How it works The workflow is designed to be fully customized from a single Config node and runs in a multi-layered sequence to find and qualify job opportunities. Scrape Jobs: The workflow triggers and uses Apify to find new job postings on LinkedIn based on a list of keywords you define (e.g., "AI Workflow Engineer," "Automation Specialist"). AI Triage & Smart Filtering: For each job found, a Google Gemini AI performs an initial triage, extracting key data like the job's language, work model (Remote, Hybrid, On-site), and seniority level. The workflow then applies a series of smart filters based on your personal preferences: Language & Seniority: It discards any jobs that don't match your target language and experience level. Commute Check: For hybrid or on-site roles, it uses the Google Maps API to calculate the commute time from your home address and filters out any that exceed your maximum desired travel time. AI Deep Analysis vs. CV: For the handful of jobs that pass the initial filters, a second, more advanced Google Gemini agent performs a deep analysis. It compares the job description against your personal CV (which you paste into the config) to generate a summary, a list of key required skills, and a final match score (e.g., 8/10). Log & Alert: The final step is action. The full analysis of every qualified job is logged in a Supabase database for your records. However, only jobs with a match score above your set threshold will trigger an immediate, detailed alert in Telegram, ensuring you only focus on the best opportunities. Setup Instructions This workflow is designed for easy setup, with most personal preferences controlled from a single node. Required Credentials Apify: You will need an Apify API Token. Google Cloud: You will need credentials for a Google Cloud project with the Google AI (Gemini) and Google Maps APIs enabled. Supabase: You will need your Supabase Project URL and Service Role Key. Telegram: You will need a Telegram Bot Token and the Chat ID for the channel where you want to receive alerts. Step-by-Step Configuration Almost all customization is done in the Config node. Open it and set the following parameters to match your personal job search criteria: MyCV: Paste the full text of your CV/resume here. This is used by the AI to compare your skills against the job requirements. JobKeywords: Search keywords for jobs (e.g., "engineer", "product manager"). JobsToScrape: The maximum number of relevant job postings to scrape in each run. HomeLocation: Your home city and country (e.g., "Breda, Netherlands"). This is used as the starting point for calculating commute times for hybrid or onsite jobs. MaxCommuteMinutes: Your personal maximum one-way commute time in minutes. The workflow will filter out any jobs that require a longer travel time. TargetLanguage: Your preferred language for job postings. The workflow will filter out any jobs not written in this language. You can list multiple languages, separated by a comma. ExperienceLevel: The seniority level you are looking for. The AI will validate this against the job description. The value can be: "" → (Any) "internship" → (Internship) "entry" → (Entry Level) "associate" → (Associate) "mid_senior" → (Mid-Senior Level) "director" → (Director) "executive" → (Executive) Under10Applicants: Set to true if you only want to see jobs with fewer than 10 applicants. Set to false to see all jobs. After setting up the Config node, configure the Supabase and Telegram nodes with your specific credentials and table/chat details. How to Adapt the Template This workflow is a powerful framework for any search and qualification process. Change Job Source:* Swap the *Apify** node to scrape different job boards, or use an RSS Feed Reader node to get jobs from sites that provide feeds. Refine AI Logic:* The prompts in the two *Google Gemini** nodes are the core of the engine. You can edit them to extract different data points, change the scoring criteria, or even ask the AI to evaluate a company's culture based on the tone of the job description. Change the Database:* Replace the *Supabase* node with *Airtable, **Google Sheets, or a traditional database node like Postgres to log your results. Modify Alerts:* Change the *Telegram* node to send alerts via *Slack, **Discord, or Email. You could also add a step to automatically create a draft application or add the job to a personal CRM.
by octik5
🤖 This n8n workflow automatically posts new articles from an RSS feed to your Telegram channel. It enhances article text using AI, adds a branded watermark to the article image, and keeps your channel updated with fresh and consistent content. Use Cases Automatically publish RSS feed updates to Telegram. Use AI to rewrite, summarize, or stylize text. Add watermarked visuals to keep your content on-brand. Perfect for news aggregators, media channels, and content creators. How It Works RSS Trigger: Monitors an RSS feed for new articles. Check Google Sheet: Compares links to avoid reposting. Fetch Article: Retrieves the full article content for new links. AI Enhancement: Uses an AI agent to improve readability and engagement. Image Watermarking: Fetches the main image and adds a watermark. Telegram Publishing: Sends the final AI-enhanced post to your Telegram channel. Setup Steps Google Sheet:** Create and share a sheet to store processed links. RSS Source:** Add your feed URL to the RSS Trigger node. AI Agent:** Configure a prompt and model (e.g., OpenRouter or Gemini). Telegram Bot:** Add your bot token and chat ID for message delivery. Test & Automate:** Run once manually, then let it update automatically. Tips You can tweak the AI prompt to match your tone (e.g., newsy, casual, concise). Adjust watermark placement, font, and color for brand consistency. AI models may have usage costs or regional restrictions. ✅ Key Advantage: Fully automated — from RSS feed detection to AI-enhanced publishing with branded visuals.
by Patrick Jennings
Sleeper NFL Team Chatbot Starter A Telegram chatbot built to look up your fantasy football team in the Sleeper app and return your roster details, player names, positions, and team info. This starter workflow is perfect for users who want a simple, conversational way to view their Sleeper team in-season or pre-draft. What It Does When a user types their Sleeper username into Telegram, this workflow: Extracts the username from Telegram Pulls their Sleeper User ID Retrieves their Leagues and selects the first one (by default) Pulls the full league Rosters Finds the matching roster owned by that user Uses player_ids to look up full player info from a connected database (e.g. Airtable or Google Sheets) Returns a clean list of player names, positions, and teams via Telegram Requirements To get this running, you’ll need: A Telegram bot (set up through BotFather) A Sleeper Fantasy Football account A synced player database that matches player_id to full player details (we recommend using the companion template: Sleeper NFL Players Daily Sync) Setup Instructions Import the workflow into your n8n instance Add the required credentials: Telegram (API Key from BotFather) Airtable (or replace with another database method like Google Sheets or HTTP request to a hosted JSON file) Trigger the workflow by sending your exact Sleeper username to the bot Your full team roster will return as a formatted message > If the user is in multiple Sleeper leagues, the current logic returns the first league found. Example Output You have 19 players on your roster: Cam Akers (RB - NO), Jared Goff (QB - DET), ... Customization Notes Replace Telegram Trigger with any other input method (webhook, form input, etc.) Replace Airtable node with Google Sheets, SQL DB, or even a local file if preferred You can hardcode a Sleeper username if you're using this for a single user Related Templates Sleeper NFL Players Daily Sync (syncs player_id to player name, position, team) -Create Player Sync first then either integrate it to this template or reate a subworkflow from it & use most recent data set. Difficulty Rating & Comment (from the author) 3 out of 10 if this ain't you're first rodeo, respectfully. Just a little bit more work on adding the Players Sync as your data table & knowing how to GET from Sleeper. If you use Sleeper for fantasy football, lets go win some games!