Deadline monitor with Slack MCP connector
Pricing
Pay per usage
Deadline monitor with Slack MCP connector
Unofficial Slack integration; not affiliated with Slack. Detect meaningful deadline and status changes on public pages and notify Slack through an Apify MCP connector.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Abdulrahman Baidaq
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Content-launch radar with Slack MCP connector
This Actor is a personal content-launch radar. It watches the real submission window, article publication page, and project-status page in a writer's publishing workflow, then sends a Slack message only when a normalized deadline or status changes. It stores the last meaningful snapshot in a named key-value store, so a changed navigation bar or CSS class does not create an alert.
What it demonstrates
- an Apify input field that accepts a Slack MCP connector;
- a restricted
slack_send_messagetool allowlist; - deterministic page-state extraction without an LLM;
- target purposes for
submission,publication, andstatuspages; - stateful transition classification (
first_seen,deadline_moved,closing_soon,closed, andunchanged); - a named key-value store so state survives separate scheduled runs;
- a dry-run mode for safe testing.
The Actor is intentionally small. It is not a general crawler, does not bypass access controls, and does not scrape authenticated pages. Before using a URL, check its robots.txt, terms, rate limits, and applicable law. Keep the page list small and run it on a reasonable schedule.
Local tests
python -m unittest discover -s tests -v
The unit tests cover extraction, cosmetic-change suppression, and transition deduplication. A live connector run must still be verified in an authenticated Apify account.
Apify input
{"pages": [{"label": "Apify Content Program submission window","url": "https://apify.notion.site/apify-content-program","purpose": "submission"},{"label": "Connector article project status","url": "https://raw.githubusercontent.com/Abood991B/apify-content-program-actors/main/status/article-1.html","purpose": "status"}],"slack_connector": "<selected connector ID>","slack_channel": "#content-radar","state_store": "<selected named key-value store ID>","lookahead_days": 7,"dry_run": false}
Authorize Slack in Apify Console first. The Actor receives a connector identifier and uses the Apify MCP connector proxy; it never receives the third-party OAuth token.
The state store is deliberately a separate input. Apify's default key-value store belongs to one run; selecting a named store is what makes the comparison survive the next scheduled run.
Add a publication target only after the article has a real URL. examples/dry-run-input.json is a template for local engineering checks; examples/live-baseline-input.json records the real baseline used for the article.