Skip to content

Move bot integrations to vc-bots Cloudflare Worker - #1518

Merged
JoeKarow merged 2 commits into
mainfrom
JoeKarow/bot-prep
Jun 10, 2026
Merged

Move bot integrations to vc-bots Cloudflare Worker#1518
JoeKarow merged 2 commits into
mainfrom
JoeKarow/bot-prep

Conversation

@JoeKarow

Copy link
Copy Markdown
Member

Linked Issue

No linked issue — follow-up to #1501.

Description

This PR moves the Slack/Zoom bot integrations off Netlify Functions in preparation for the new vc-bots Cloudflare Worker.

  • Removes the webhook functions migrated in by Consolidate webhooks repo into virtualcoffee.io #1501: the Slack events/interactivity handler, the Zoom meeting webhook handler, and the three scheduled event reminders (event-reminders-daily/-hourly/-weekly), along with their shared modules in netlify/functions/_shared/.
  • Removes the supporting build tooling: scripts/build-rooms.ts, the generated data/rooms.json plumbing (data/ dir + included_files in netlify.toml), and the build-rooms/pretypecheck package scripts.
  • Removes now-unused dependencies: @slack/bolt, slackify-html, @netlify/functions, @types/slackify-html, dotenv.
  • Cleans up config/docs: webhook redirects in netlify.toml, webhook env vars in netlify/env.d.ts and .env.example, and the README "Webhooks" section.
  • Adds a /bots/* rewrite that proxies to the new worker (https://vc-bots.lucky-art-2f02.workers.dev/:splat, prefix stripped), so the bot gets stable URLs on the virtualcoffee.io domain.

The site's own redirect functions — join-coffee and join-slack — are untouched, along with their _shared/env.ts helper and env vars.

Deploy notes:

  • The scheduled reminder crons stop automatically once this deploys.
  • The Slack app's Events/Interactivity URLs and the Zoom app's webhook URL still point at the old endpoints; they need to be repointed to /bots/... (or the worker directly) around deploy time.
  • Netlify env vars used only by the removed functions (SLACK_BOT_TOKEN, SLACK_SIGNING_SECRET, SLACK_ANNOUNCEMENTS_CHANNEL, SLACK_EVENT_ADMIN_CHANNEL, ZOOM_WEBHOOK_SECRET_TOKEN, ZOOM_WEBHOOK_AUTH, AIRTABLE_COWORKING_BASE) can be removed in the Netlify UI.

Verified locally: pnpm typecheck, pnpm lint, and pnpm build all pass, and via netlify dev the /bots/* rewrite proxies to the worker (/bots/health → worker /healthok) while existing routes still serve.

Methodology

Consolidating the webhooks repo into this site (#1501) was a stepping stone; the bot functionality is now moving to a dedicated Cloudflare Worker (vc-bots) where it can evolve independently of the website deploys. This PR clears the Netlify side and wires up the /bots/* proxy so external integrations can use stable site-domain URLs instead of the raw workers.dev host. The rewrite uses force = true because the Next.js runtime's catch-all handler can otherwise shadow proxy rewrites.

Code of Conduct

By submitting this pull request, you agree to follow our Code of Conduct

JoeKarow added 2 commits June 10, 2026 18:05
Removes the Slack/Zoom webhook handlers, scheduled event reminders, and
the build-rooms prebuild step brought in by #1501, along with their
config, env vars, docs, and now-unused dependencies. The join-coffee and
join-slack redirect functions stay.
Proxies /bots/* to the worker that replaced the removed webhook
functions, stripping the /bots prefix via :splat.
@JoeKarow
JoeKarow requested a review from a team as a code owner June 10, 2026 22:37
@netlify

netlify Bot commented Jun 10, 2026

Copy link
Copy Markdown

👷 Deploy Preview for virtual-coffee-io processing.

Name Link
🔨 Latest commit f093858
🔍 Latest deploy log https://app.netlify.com/projects/virtual-coffee-io/deploys/6a29e7258fbc980008a761dc

@JoeKarow
JoeKarow merged commit 2ac7b55 into main Jun 10, 2026
5 checks passed
@JoeKarow
JoeKarow deleted the JoeKarow/bot-prep branch June 10, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant