Importable automation pack

n8n job alerts and trackers

Import a duplicate-safe daily alert, a normalized Google Sheets tracker, or a candidate-specific scored shortlist. Add credentials inside n8n and keep every workflow inactive until its named destination is verified.

Importable JSONExact buildsNo embedded credentials

Choose one workflow

  • LinkedIn daily alert: searches at most 25 jobs and routes new canonical rows to Slack, Telegram, or email. It uses the bounded asynchronous run endpoint and source-side dedupe; it does not read v4 RUN-SUMMARY.
  • LinkedIn Google Sheets tracker: selects build latest, validates the exact completed run and v4 summary, then upserts 32-field flat rows by jobKey.
  • EURAXESS Google Sheets tracker: selects latest and records the returned immutable build and follows the same exact-run path while validating EURAXESS source identity.
  • AI Job Fit Google Sheets: uses scorer selector latest, starts in shortlist mode at delivery score 2, validates legacy v3 or current v4 fit summaries, omits ai_failed, and upserts by candidate-specific matchKey.

Safe import sequence

  1. Download and inspect the chosen JSON, then import it into n8n.
  2. Add a scoped Apify Header Auth credential to every Apify HTTP node. Add only the destination credential used by the active branch.
  3. Import the matching CSV headers and replace the spreadsheet, channel, recipient, or sender placeholders.
  4. Keep the exact build, small item count, explicit charge cap, and optional enrichment, translation, analytics, and raw output off for the first run.
  5. Execute manually. Inspect the exact Actor run and the named destination result.
  6. Repeat the same fixture to verify update or dedupe behavior, then activate the schedule.

Tracker completion gate

The normalized trackers poll the returned run ID to terminal, require SUCCEEDED and the exact build, read nomad-agent-run-summary-v4, and reconcile delivered with the complete default dataset. Only a usable partial summary can recommend one bounded repeat of the same paid request.

The fit workflow applies the distinct scorer v3/v4 rules. For v4 it reconciles evaluated, dropped, held, scored, failed, filtered, and output counts; shortlist rows must be scored at the declared delivery threshold, while audit retains every evaluated row. It also checks the $0.02 result meter and provider guard. The scraper and scorer contracts are not interchangeable.

Destination identity and information loss

Normalized trackers derive nomad-agent-flat-job-v1 and upsert by jobKey = source:externalId. Preserve the canonical dataset separately when nested evidence, source extensions, contacts, or null versus [] matters.

Fit rows use a separate 21-column destination projection and matchKey. A source-only jobKey cannot distinguish evaluations of the same posting for two candidates.

What the repository proves

Offline tests cover the imported graph, exact-build selectors, configuration gates, canonical validation, projections, and credential hygiene. A successful import or Actor run does not prove Slack, Telegram, SMTP, or Google Sheets delivery. That requires a manual run with the user’s own credentials and a named disposable destination.

Troubleshooting

  • Configuration stops immediately: replace every placeholder and keep the supported build and bounded cap.
  • Tracker returns rows but writes none: inspect the summary/count gate before the Sheets credential; the workflow intentionally stops on mismatch.
  • Duplicate alerts: use one stable opaque dedupe scope for that alert and confirm the schedule is not duplicated.
  • EURAXESS rejects input: postedWithin=1h is unsupported; use 24h or broader.
  • Fit rows overwrite each other: use matchKey, not jobKey.