Deadline monitor with Slack MCP connector avatar

Deadline monitor with Slack MCP connector

Pricing

Pay per usage

Go to Apify Store
Deadline monitor with Slack MCP connector

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

Abdulrahman Baidaq

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

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_message tool allowlist;
  • deterministic page-state extraction without an LLM;
  • target purposes for submission, publication, and status pages;
  • stateful transition classification (first_seen, deadline_moved, closing_soon, closed, and unchanged);
  • 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.