{"product_id":"n8n-workflow-track-competitor-hiring-to-google-sheets-slack","title":"n8n Workflow: Track Competitor Hiring to Google Sheets \u0026 Slack","description":"\u003ch3\u003eTrack competitor hiring automatically—daily updates to Google Sheets \u0026amp; Slack\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow pulls fresh job postings from the \u003cstrong\u003eJob Opportunities API (JOA)\u003c\/strong\u003e, deduplicates them by job \u003cstrong\u003eid\u003c\/strong\u003e, and keeps a structured list in \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e while notifying you in \u003cstrong\u003eSlack\u003c\/strong\u003e.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns daily at 08:00\u003c\/strong\u003e on a scheduled schedule.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSets job search filters\u003c\/strong\u003e (e.g., title, country, remote preference, how many days back to look, and maximum results).\u003c\/li\u003e\n  \u003cli\u003eCalls the \u003cstrong\u003eJob Opportunities API\u003c\/strong\u003e \u003ccode\u003e\/v1\/jobs\u003c\/code\u003e endpoint using the filters and a \u003ccode\u003eposted_after\u003c\/code\u003e value derived from your “days back” setting.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTransforms the response\u003c\/strong\u003e into one structured item per job, including fields such as location, remote status, remote source, salary details, posted date, and apply URL.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAppends or updates rows in Google Sheets\u003c\/strong\u003e by matching on the job \u003cstrong\u003eid\u003c\/strong\u003e to prevent duplicate openings.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSaaS ops \/ founders\u003c\/strong\u003e monitoring competitors’ hiring momentum and emerging roles (remote + location changes).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAutomation engineers\u003c\/strong\u003e using an API-to-Spreadsheet pattern with deduplication and structured fields.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRecruiting teams\u003c\/strong\u003e tracking targeted job titles from employers’ own career sites—without job board noise.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eJob Opportunities API\u003c\/strong\u003e (HTTP request to \u003ccode\u003e\/v1\/jobs\u003c\/code\u003e) using a Bearer token: Authorization: \u003ccode\u003eBearer YOUR_KEY\u003c\/code\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGoogle Sheets integration\u003c\/strong\u003e: writes a de-duplicated job list to a sheet with matching headers (e.g., \u003ccode\u003eid\u003c\/code\u003e, \u003ccode\u003etitle\u003c\/code\u003e, \u003ccode\u003ecompany\u003c\/code\u003e, \u003ccode\u003elocation\u003c\/code\u003e, \u003ccode\u003eremote\u003c\/code\u003e, \u003ccode\u003eremote_source\u003c\/code\u003e, \u003ccode\u003eemployment_type\u003c\/code\u003e, \u003ccode\u003eseniority\u003c\/code\u003e, \u003ccode\u003esalary_min\u003c\/code\u003e, \u003ccode\u003esalary_max\u003c\/code\u003e, \u003ccode\u003esalary_currency\u003c\/code\u003e, \u003ccode\u003eposted_at\u003c\/code\u003e, \u003ccode\u003eapply_url\u003c\/code\u003e).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSlack\u003c\/strong\u003e notifications (via Slack node).\u003c\/li\u003e\n  \u003cli\u003eNodes include: \u003cstrong\u003eif\u003c\/strong\u003e, \u003cstrong\u003ecode\u003c\/strong\u003e, \u003cstrong\u003eno op\u003c\/strong\u003e, \u003cstrong\u003efilter\u003c\/strong\u003e, and \u003cstrong\u003esticky note\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eSetup in minutes\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eCreate a free JOA API key: https:\/\/jobopportunitiesapi.org\/login?ref=n8n-template\u003c\/li\u003e\n  \u003cli\u003eConfigure the HTTP Header Auth credential (Authorization: Bearer YOUR_KEY).\u003c\/li\u003e\n  \u003cli\u003eConnect Google Sheets and select the target spreadsheet and sheet.\u003c\/li\u003e\n  \u003cli\u003eUpdate the job search value\/filters to match your competitor targets.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46326543024307,"sku":"N8N-21321","price":31.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/u16An7vMX0IyZXWwnFj3P_72FT6JT9.png?v=1793352256","url":"https:\/\/buyflowscripts.com\/products\/n8n-workflow-track-competitor-hiring-to-google-sheets-slack","provider":"N8N Commerce","version":"1.0","type":"link"}