Quick overview
This workflow runs every weekday morning to monitor new Federal Register FAR/DFARS and SBA-related documents via an Apify Actor, dedupes and prioritizes them by urgency, then sends deadline alerts and a daily digest to Slack or Gmail.
How it works
- Runs on a weekday schedule at 07:00.
- Validates the watch configuration (watch packs/filters, limits, regex patterns, and Slack/email routing) and stops with an error before any Apify charge if settings are invalid.
- Starts the Apify Actor
cce_partners/federal-register-govcon-watch, polls until it finishes (or polling limit is reached), and fetches the run dataset of new documents.
- Dedupes documents by document number, persists “seen” state and open comment deadlines in workflow static data, and creates reminders when previously seen items enter the urgent window.
- Classifies each document (final rule, proposed rule, RFI-like notice, or other) and assigns priority based on comment deadlines, effective dates, contract clause parts, and priority agencies.
- Sends an urgent alert for items with comment deadlines within the configured urgent window, and compiles the remaining items into a single run digest with categorized sections and run/cost stats.
- Delivers alerts/digests to Slack or Gmail based on the configured channels, and sends failure/crash notifications to the configured alert destination if Apify calls or the workflow execution fails.
Setup
- Add an Apify API token as an HTTP Header Auth credential (header
Authorization: Bearer <token>) and select it in the Apify HTTP request steps.
- Connect Slack credentials (for Slack delivery) and/or Gmail credentials (for email delivery) depending on which channels you choose.
- Update the Config values for what to monitor (watch packs, agencies/CFR/keywords, lookback and item limits) and set
alertChannel/alertTo and digestChannel/digestTo to your real Slack channel names or email addresses.
- Activate the workflow to persist dedupe and deadline-tracking state across scheduled runs (manual test runs do not persist static data).
Requirements
- Your own Apify account and API token. The Actor cce_partners/federal-register-govcon-watch is paid per result row: $0.01 per run start + $0.002 per document (pricing: https://apify.com/cce_partners/federal-register-govcon-watch/pricing)
- Your own Slack and/or Gmail credentials
- n8n with the core nodes only (no community nodes)
- No Federal Register API key needed
Customization
- Custom watch: set watchPack to [] and use agencies (slug or full name), cfrTitle + cfrParts and keywords. Keywords don't narrow a pack.
- rfiPattern and lowPriorityPattern are regular expressions that control the RFI branch and which notices count as routine.
- Edit the four branch Set nodes to change each digest section's action line, or attach a Sheets/Notion/Jira node to any branch.
Additional info
Tested on n8n 2.44.5: live Actor runs (new documents, an empty run, a failed run caused by an unknown agency), the polling loop including the give-up path, the HTTP error output after retries, Config fail-fast, and the Error Trigger firing for an active workflow. No credentials are embedded. The only external ID is the public Apify Actor ID.