The problem was not a lack of information. The Canadian federal government publishes everything: news releases, Gazette notices, procurement updates, funding announcements. The problem was that the information was scattered across nine different sources, published at unpredictable times, and buried alongside hundreds of irrelevant posts.

The team was checking manually every morning. Open ISED. Open DND. Open the Gazette. Scan for anything related to their clients. Copy the relevant items into a shared doc. Repeat tomorrow.

9
agencies monitored daily
35+
keyword filters
25
nodes in the workflow

The sources

The workflow pulls RSS feeds from nine federal sources simultaneously every morning at 6 AM Eastern: Innovation, Science and Economic Development Canada (ISED), Department of National Defence (DND), National Research Council (NRC), Natural Resources Canada (NRCan), Agriculture and Agri-Food Canada (AAFC), the Prime Minister's Office (PMO), Public Services and Procurement Canada (PSPC), and both parts of the Canada Gazette.

Each feed gets normalized into a consistent format (source, title, link, date, summary) and tagged with its department of origin. This normalization step matters because every feed uses a slightly different schema. Without it, you cannot filter across sources reliably.

The keyword engine

The core of the system is a two-tier keyword filter. Primary keywords cover the most actionable terms: funding, intake, deadline, envelope, program, non-repayable, contribution, procurement, tender, and RFP. Secondary keywords cover specific programs and policy areas: IRAP, SIF, NGEN, defence industrial, critical minerals, clean tech, CanExport, Buy Canadian, and more.

An exclusion list filters out noise that matches keywords but has no intelligence value: routine admin notices, access to information disclosures, and proactive disclosure reports.

Every item that matches gets classified by change type automatically. The system detects whether an intake opened, an intake closed, a deadline is approaching, a new program launched, procurement was posted, or a policy shift occurred. This classification is heuristic-based, not AI-based, which means it runs at zero cost and near-zero latency.

The output

Matched items from the last 48 hours are written to a Google Sheet for the team's pipeline. Then the system builds a branded HTML email digest grouped by source department, with color-coded badges for each change type, and sends it to the team before anyone opens their laptop.

The digest looks like it was written by a human. Navy headers, teal accents, clean typography. It matches the firm's brand because the email template was built to their spec.

The result

Before this system, the team was manually scanning government websites every morning. They were catching most updates but not all of them, and the process consumed the first block of productive time every day.

After: the digest is in their inbox by 6:15 AM. Every relevant update from the last 48 hours, filtered, classified, and linked. The team reads a two-minute email instead of spending an hour browsing government portals.

Zero missed updates since launch.

Monitoring something manually?

Government feeds, regulatory updates, competitor news, industry publications. If it has a public source, we can automate the monitoring. Book a free 30-minute audit.

Book a Free Audit

We build these systems for government relations firms. See what yours could look like.

Built for public affairs →

Get every teardown in your inbox.

One email per build. The full node-by-node breakdown, plus the JSON to fork it. No fluff, no spam.