Quick Overview
This workflow sends scheduled vendor status ping emails with one-click buttons, then captures responses via an n8n webhook and logs the selected status and timestamp to Google Sheets using a one-time token per ping cycle.
How it works
- Runs every Monday at 8am on a schedule.
- Reads all vendors from a Google Sheets “Vendors” tab and keeps only rows where
status is set to Active.
- Generates a unique token per vendor, builds four status-link URLs (On Track, At Risk, Delayed, Needs PM Input), and timestamps the ping.
- Updates the matching vendor row in Google Sheets with the new token and ping timestamp and clears any prior response fields.
- Sends an HTML email to each vendor via SMTP with four one-click status buttons that link back to the n8n webhook.
- When a vendor clicks a button, the webhook validates the vendor_id, status value, and token against Google Sheets, writes the response status and timestamp back to the sheet (and clears the token), and returns either a confirmation page or an error page.
Setup
- Create a Google Sheet with a “Vendors” tab that includes the required columns (including
vendor_id, status, contact_email, ping_token, response_status, and timestamps).
- Add a Google Sheets OAuth2 credential in n8n and replace
YOUR_GOOGLE_SHEET_ID in all Google Sheets nodes.
- Add an SMTP email credential (for example, Gmail SMTP with an app password) and set the sender address used for the email.
- Set your public n8n webhook base URL and sender email in the Config code so the status links point to your production webhook URL.
- Activate the workflow and use the webhook’s Production URL in the outgoing emails (not the Test URL).