See llms.txt for all machine-readable content.

Back to Templates

Find and qualify freelance LinkedIn gigs with Apify, GPT-5, Gmail and Telegram

Quick overview

This workflow runs every weekday morning to find potential freelance gigs in public LinkedIn posts via Apify, filters and location-checks candidates, scores and drafts outreach with OpenAI (GPT-5), saves email drafts to Gmail, logs results to Google Sheets, and sends a Telegram digest with a detailed text file.

How it works

  1. Runs on a weekday cron schedule and validates your configuration values, then sends a “search started” message to Telegram.
  2. Reads previously seen post URLs from Google Sheets and searches public LinkedIn posts through Apify using your configured phrases.
  3. Filters out already-seen posts and applies keyword rules to keep likely hiring posts while dropping obvious noise and duplicates.
  4. Uses Apify to fetch each author’s LinkedIn profile details, filters leads by allowed country codes, and logs location-based rejects to Google Sheets.
  5. Sends the remaining leads to OpenAI (GPT-5) to score fit and generate short notes (including an optional public comment opener for stronger leads).
  6. Selects the top-scoring leads, uses Apify to find verified email addresses for those profiles, and generates tailored connection notes, follow-up DMs, and email copy with OpenAI (GPT-5).
  7. Creates Gmail drafts for leads with an email address, appends all judged leads (and verdicts) to Google Sheets, and sends a Telegram digest plus a .txt attachment with full outreach details.

Setup

  1. Create an Apify account and add an HTTP Header Auth credential using Bearer <your_apify_token> for the LinkedIn post search and profile scraper requests.
  2. Add an OpenAI credential with access to the GPT-5 model used for lead scoring and outreach drafting.
  3. Connect Google Sheets and create one spreadsheet with three tabs (for seen posts, dropped leads, and logged leads), then select the document and sheet names in the Google Sheets nodes.
  4. Connect Gmail and set up the Gmail Draft node (including any optional attachment mapping) to create drafts in your mailbox.
  5. Create a Telegram bot with @BotFather, add Telegram credentials, set notify_chat_id in the Config step, and paste the same chat ID into the error-alert Telegram node.