π¬ Monitor contractor licences weekly and send Slack digests with Apify
β‘ 0 views Β· π¬ Document Extraction & Analysis
Description
Quick overview
This workflow runs every Monday, checks a contractor roster against 17 US state licensing portals using Apify actors, and posts a single Slack digest highlighting expired licences, status changes, expiring licences within 30 days, and lookup issues.
How it works
- Runs every Monday at 06:00 on a schedule.
- Loads your contractor roster (company, state, optional licence number, and optional previously known status).
- Maps each contractorβs state to the correct Apify licence-lookup actor and builds the actor input, while labeling contractors in unsupported states as unverifiable.
- Runs the Apify actor for each covered state to retrieve licence status and expiry details.
- Classifies each result into alert tiers such as expired, status-changed, expiring within 30 days, lookup failed, ambiguous match, not found, or no expiry published.
- Creates one grouped digest for all non-OK items and sends it to a Slack channel, otherwise produces no alert.
Setup
- Use a self-hosted n8n instance and install the
@apify/n8n-nodes-apifycommunity node. - Add an Apify API token credential and ensure the Apify actors used for the supported states are available to your Apify account.
- Replace the sample roster with your real data source (for example Google Sheets, Airtable, or a database) and provide
company, 2-letterstate, and optionallylicense_numberandknown_status. - Add a Slack credential, set the target channel, and enable the Slack node to deliver the digest.
π Nodes Used
Slack, Schedule Trigger
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File