See llms.txt for all machine-readable content.

Back to Templates

Qualify French IT freelance missions from Free-Work with Apify, OpenAI, Slack and Gmail

Quick overview

This workflow runs every weekday to scrape new French freelance IT missions from Free-Work via Apify, scores and reviews them with OpenAI, logs results to Google Sheets, and sends hot alerts and daily/weekly summaries to Slack while drafting applications in Gmail.

How it works

  1. Runs on a schedule every weekday morning (or manually) and validates your profile, rate, and scoring limits before spending Apify or OpenAI credits.
  2. Starts an Apify run of the Free-Work Jobs Scraper, polls until it succeeds, and posts a Slack warning if the run fails or times out.
  3. Downloads the scraped missions, compares them to an existing Google Sheets log to keep only new ones, and flags reposts based on matching title and company.
  4. Scores each mission against your target daily rate, skills, remote mode, and seniority, then sends only the best-scoring subset to OpenAI for a structured apply/maybe/skip verdict with reasons, red flags, and a tailored pitch.
  5. Merges AI results back onto the full scored mission list, assigns a final decision tier (hot/good/low), and appends every mission with its decision and AI details to Google Sheets.
  6. For hot missions, posts a detailed Slack alert and creates a Gmail draft using the AI pitch, and for all missions sends a daily Slack recap with market rate statistics and top matches.
  7. Every Monday, reads the Google Sheets log and posts a weekly Slack market report with median rates, remote and repost shares, and top skills by rate.

Setup

  1. Create an Apify account, generate an API token, and configure an HTTP Header Auth credential with Authorization: Bearer YOUR_APIFY_TOKEN for the Apify HTTP requests.
  2. Create a Google Sheet with a Missions tab and the expected columns, then connect Google Sheets credentials and replace YOUR_SPREADSHEET_ID in all Google Sheets nodes.
  3. Add OpenAI credentials for the Chat model used by the AI review step.
  4. Add Slack OAuth2 credentials and set the target channel (for hot alerts, recaps, and failure notifications).
  5. Add Gmail OAuth2 credentials for creating email drafts, and update the “Set your profile and limits” values (skills, target rate, remote preference, thresholds, and consultant profile) to match your situation.

Requirements

  • Apify account (the Actor is billed per result, see its page)
  • OpenAI API key
  • Google account for Sheets and Gmail
  • Slack workspace

Customization

  • Change the scoring weights at the top of the scoring node
  • Set aiMaxMissions to 0 to run on the rules alone, without any AI cost
  • Delete a row from the sheet to see that mission again

Additional info

In the workflow settings, set this same workflow as its Error workflow, so any failure reaches you on Slack. Tested on n8n 2.44. The Actor reads public listings only, no login.