by Luka Zivkovic
AI-Powered Automatic Timesheet Generator for Google Sheets Stop wasting billable hours on manual time-tracking. AutoTimesheet Pro uses AI to collect emails, meetings, and GitHub work, then writes a clean timesheet straight into Google Sheets. Perfect for developers, consultants, agencies, and remote teams. ๐ Key Features Automated Google Sheets time-tracking** โ zero spreadsheet prep. AI-generated activity summaries** (โค 120 chars) via OpenAI GPT-4o-mini. Gmail integration** โ logs only important emails, skipping newsletters & no-replies. Google Calendar time logger** โ captures confirmed events, duration, and attendees. GitHub commit & PR tracker** โ records your commits plus opened/closed PRs. Daily 7 PM cron trigger** (easily adjustable). Month-based sheet creation** โ new tab spins up on the first run each month. No-code n8n template* โ just connect credentials and tweak one *Set Variables** node. ๐ Easily extensible** โ drag-and-drop extra n8n nodes to add Slack, Jira, Notion, Asana, Trello, Toggl, or any other data source you need. ๐ How It Works Collect โ n8n pulls data from Gmail, Google Calendar, and chosen GitHub repos. Clean โ filters remove noise (newsletters, irrelevant commits, etc.). Condense โ OpenAI rewrites each item into a concise, SEO-friendly description. Write โ workflow appends Date, Type, and Description to your Timesheet Google Sheet. Extend โ simply insert new n8n nodes (e.g., Slack, Notion, Jira) and merge them into the same pipeline. ๐ Benefits for SEO-Minded Professionals Keyword-rich activity log** improves internal search and reporting. Structured data** in Sheets simplifies export to accounting or PM tools. Consistent naming** (CALENDAR_EVENT, EMAIL, COMMIT, PR) makes analytics easy. โ Why Choose AutoTimesheet Pro? Zero manual entry โ just open the sheet and bill clients. Immediate visibility into where your hours went. Works with any GitHub repo list and any inbox you own. 100 % no-code setup โ activate in minutes. Built on n8n, so you can customize and scale without limits. ๐ฅ Get Started Ready to replace manual time-tracking with smart automation? https://n8n.partnerlinks.io/ds9podzjls6d Join N8N now, connect your Google & GitHub accounts, and let AI handle your daily log.
by tanaypant
In this workflow, we'll automate the export of all the submissions which have a total score greater than 15 for a final review on Trello. The workflow will also generate social media assets for the organizers and add them to the Trello card.
by Joseph
Watch on Youtubeโถ๏ธ Welcome to this complete step-by-step guide on how to build your own newsletter automation system using n8n, Bolt.new, and RapidAPI. Whether you're a solo founder, indie hacker, or community builder, this setup will allow you to collect subscribers, send them curated job updates, and manage unsubscriptions โ all with full control and zero reliance on third-party newsletter tools. ๐ Goal of This Guide By the end of this guide, you will have a fully working system that allows you to: Collect user subscriptions from a modern frontend interface Send welcome or rejection emails (using your own SMTP) Automatically scrape jobs via an API and send them to subscribers weekly or daily Manage unsubscriptions with confirmation and webhook logic Customize and manage all this using n8n workflows with no-code/low-code skills This system is perfect for niche job boards, community newsletters, or any project that needs automated content delivery to subscribers. ๐งฑ Tools You'll Be Using n8n** โ for automation workflows and acting as your backend Bolt.new** โ to build your newsletter landing page and subscription interface Google Sheets** โ to act as your lightweight subscriber/job database RapidAPI** โ to pull job listings from the Jobs Search API Custom SMTP Email (Optional)** โ to send branded emails using your own domain ๐ Step 1: Set Up Your Google Sheets Database Make a copy of this Google Sheets template that will serve as your database: ๐ Click here to copy the Google Sheet template](https://docs.google.com/spreadsheets/d/11vxYkjfwIrnNHN6PIdAOa_HZdTvMXI0lm_Jecac4YO0/edit?gid=0#gid=0) This includes: A Subscribers sheet to store new signups An Unsubscribers sheet to prevent duplicates A Jobs sheet to store scraped job listings โ Step 2: Get Your API Key for Jobs Scraping We use this API from RapidAPI to pull job listings programmatically: ๐ Jobs Search API on RapidAPI Sign up or log into RapidAPI Subscribe to the Jobs Search API Copy your API key โ you'll need this in n8n โ Step 3: Get Your API Key for Email Validation We use this API from Mails.so to confirm email's validity before adding them to our database: ๐ Mails.so API Sign up or log into mails dot so Visit the dashboard, then click on API Copy the cURL command and import on http request node ๐ Step 4: Set Up Your Frontend with Bolt.new You'll be building a beautiful, modern newsletter landing page using Bolt.new. Use this link for prompts to generate: Your landing page Email templates (welcome, already subscribed, unsubscribe confirmation) Terms & Privacy Policy pages Unsubscribe confirmation page ๐ Access the Bolt.new Prompt Document This includes: A homepage form with input fields (Name, Email) and consent checkbox Logic to send data to n8n webhook using fetch() UI logic for showing webhook response (Success, Already Exists, Invalid Email) Unsubscribe page handling (Make your own copy so that you can edit it while we format the prompts) ๐ค Step 5: Set Up Email Sending With Your Custom Domain (Optional but Recommended) To send branded HTML emails from your own domain, follow this tutorial to configure SMTP properly on n8n with your cPanel email account: ๐ Guide: How to Set Up SMTP with cPanel Email on n8n This setup helps: Improve deliverability Avoid Gmail spam filters Send beautiful HTML emails you can customize fully ๐ Step 6: Create n8n Workflows for Subscription Management In n8n, you'll need to build these workflows: โ 1. Handle Subscriptions Receives webhook from frontend with name and email Validates email (using mails.so) Checks if already subscribed Sends appropriate HTML email (Welcome, Already Exists, Invalid Email) Adds to Google Sheet database โ 2. Scrape Jobs and Email Subscribers Use Cron node to run daily/weekly Use RapidAPI to fetch new jobs Format jobs into readable HTML Send jobs to all active subscribers via SMTP โ 3. Handle Unsubscriptions Expose a webhook for /unsubscribe Confirm email, show a button On confirmation, add email to Unsubscribers sheet Show feedback and redirect user back to homepage after 2 seconds ๐ง What You're Learning Along the Way How to use n8n as a backend service (reliable, scalable, visual) How to use webhooks to connect frontend and backend logic How to scrape APIs, format JSON data, and convert it to HTML emails How to use Function nodes for data processing How to build logic with IF and Switch nodes How to design a minimal, clean frontend with Bolt.new How to control the entire newsletter system without external platforms Follow me on twitter @juppfy | or check out my agency website.
by Harshil Agrawal
This workflow allows you to send a message on Mattermost when a workflow is updated. Workflow Trigger node: The Workflow Trigger node will trigger the workflow when the workflow gets updated. Mattermost node: This node will send a message on Mattermost, notifying you about the update.
by Lorena
This workflow allows you to filter positive and negative feedback received from a Typeform and insert the data into Google Sheets. Typeform Trigger node: Start the workflow when a new form is submitted via Typeform Set node: Extract the information submitted in typeform IF node: Filter positive and negative reviews (i.e. ratings above or below 3 out of 5). Google Sheets node: Store the positive and negative reviews and ratings in two different sheets for each case.
by Pauline
This workflow allows you to find and verify emails and enrich your contact from a Google Sheet with Dropacontact and add them to Lemlist. Start node: The start node exists by default when you create a new workflow. Google Sheet node: This node will list all the records from Google Sheet. Dropcontact node: This node will find the verified email of the contact and enrich it to be able to contact him lemlist node: This node will add a contact to an existing campaign
by Will Stenzel
Creates a new team for a project from webhook form data. When the project is created the current semester is added to it's relation attribute. More info can be found on using this workflow as part of a larger system here.
by Jonathan
This workflow will backup your workflows to Github. It uses the public api to export all of the workflow data using the n8n node. It then loops over the data checks in Github to see if a file exists that uses the workflow name. Once checked it will then update the file on Github if it exists, Create a new file if it doesn't exist and if it's the same it will ignore the file. Config Options repo_owner - Github owner repo_name - Github repository name repo_path - Path within the Github repository >This workflow has been updated to use the n8n node and the code node so requires at least version 0.198.0 of n8n
by Miquel Colomer
Who we are We are Aprende n8n, the first n8n Spanish course for all n8n lovers. If you want to learn more, you can find out more at Aprende n8n. Task goal This task allows extracting data from any email body with a NoCode snippet. An small explanation You receive an email when a user submits a form from your website. All those emails usually have the same structure as the next one: Name: Miquel Email: miquel@aprenden8n.com Subject: Welcome aboard Message: Hi Miquel! Thank you for your signup! This task allows to parse any email body and assign all values to the defined labels, getting an output like this: { "Name": "Miquel", "Email": "miquel@aprenden8n.com", "Subject": "Welcome aboard", "Message" "Hi Miquel! Thank you for your signup!" } After importing it When you import the import, you get the next task in your n8n: We recommend importing this workflow into your current task and adapting it. You define a couple of variables in the "Set values" SET: body: the email body you want to parse. You can add this as an expression from previous variables. labels: the keywords you want to detect and parse. Labels are case insensitive. We define the next values: Body Name: Miquel Email: miquel@aprenden8n.com Subject: Welcome aboard Message: Hi Miquel! Thank you for your signup! Labels Name,Email,Subject,Message A screenshot of the Set output is the next one If we check the "Function item" Node, we get the next content after executing the task: Capabilities The task has the next features: You can detect as many labels as you want. Label detection is case insensitive. You can use the snippet as an independent workflow to call it generically, adding the Function item to the workflow and passing body and labels as paremeters. Limitations This task has limitations: The parser only accepts the multiline values at the end of the email. Help and comments If you have any doubt about this snippet, please, contact us at miquel@aprenden8n.com. You can contact us at Aprende n8n or in the Spanish n8n community
by Moka Ouchi
What it does This workflow automatically downloads NASA's Astronomy Picture of the Day (APOD) every day. It then resizes the image to a 4K resolution (3840x2160), making it perfect for a desktop wallpaper, and uploads it to a specified Google Drive folder. If the APOD for the day is a video or another media type instead of an image, the workflow will skip the download process and send an alert to a designated Slack channel, informing you of the media type and title. Who's it for This template is ideal for: Space and astronomy enthusiasts who want a new stunning wallpaper every day. Anyone looking to automate file downloading and cloud storage management. n8n users who want to learn how to integrate APIs, schedule triggers, process images, and use conditional logic. How to set up Setup should take about 5-10 minutes. Configure Credentials: NASA: Get a free API key from NASA APIs and add your credentials in the Fetch APOD data node. Google Drive: Authenticate your Google account in the Upload to Google Drive node. Slack: Authenticate your Slack workspace in the Send Slack alert node. Set Workflow Variables: In the โ๏ธ Configuration node, replace the placeholder values for DRIVE_FOLDER_ID and SLACK_CHANNEL_ID with your actual Google Drive folder ID and Slack channel ID. You can find the folder ID in the URL of your Google Drive folder. Activate the Workflow: Toggle the "Active" switch to ON in the top-right corner. The workflow will now run once every day. How to customize Change Image Size**: You can adjust the output resolution in the Resize image to 4K node. Use a different Cloud Storage**: Replace the Upload to Google Drive node with another cloud storage node like Dropbox or OneDrive. Adjust the Schedule**: Modify the Daily Trigger node to run more or less frequently.
by Max Tkacz
This workflow shows how to sum multiple items of data, like you would in Excel or Airtable when summing up the total of a column. It uses a Function node with some javascript to perform the aggregation of numeric data. The first node is simply mock data to avoid needing a credential to run the workflow. The second node actually performs the summation - the javascript has various comments in case you need to edit the JS. For example, to sum multiple items of data. Below is an example of the type of data this workflow can sum - so anything that is in a tabular form (Airtable, GSHeets, Postgres etc).
by Eduard
This workflow extends n8n and uses R language graphic capabilities. This is a Telegram bot which fetches weather data via the openweathermap.org API, plots an image using ggoplot2 package from R and sends the image to the Telegram user.