Send tailored Upwork job proposals with Gemini, Slack, Gmail, Drive and ClickUp
Ready for 3.0What this workflow does
This workflow has 21 nodes and runs on a schedule (every 2 minutes). Along the way it connects Slack, Google Drive and Gmail. It also calls googleapis.com and generativelanguage.googleapis.com over HTTP.
How it runs
Trigger: On a schedule (every 2 minutes).
- Slack: history (channel)
- Code: runs custom JavaScript code
- If: checks a condition and branches into true / false
- Drive: List Resume Files (API) (HTTP Request): calls googleapis.com
- Drive: Find Company Deck (API) (HTTP Request): calls googleapis.com
- Merge: merges the data from its input branches
- Split Out: splits a list into separate items
- Code: runs custom JavaScript code
- Code: runs custom JavaScript code
- Drive: Download Each Resume (Google Drive): download
…plus 10 more steps. See the full node list below.
Services it uses
HTTP calls to: googleapis.com, generativelanguage.googleapis.com
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (11)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Slack
n8n-nodes-base.slack - Code
n8n-nodes-base.code - If
n8n-nodes-base.if - HTTP Request
n8n-nodes-base.httpRequest - Split Out
n8n-nodes-base.splitOut - Google Drive
n8n-nodes-base.googleDrive - Extract from File
n8n-nodes-base.extractFromFile - Aggregate
n8n-nodes-base.aggregate - Merge
n8n-nodes-base.merge - Gmail
n8n-nodes-base.gmail
From the author
Quick overview This workflow runs every 2 minutes, monitors new Upwork job posts forwarded to Slack, pulls candidate resumes and a company deck from Google Drive, uses the Google Gemini API to generate tailored proposals, then sends them via Gmail, posts an…