Log every GitHub release to Supabase and announce it in Slack

When you publish a new GitHub release, save it as a row in your Supabase changelog table and post a clean announcement to your Slack release channel.

Deterministic Code
GitHubSupabaseSlack BotEngineeringProductNotifications & AlertsData Sync
PromptCreate

When a new release is published in my GitHub repository, I want to capture it as a row in my Supabase changelog table and announce it in my team's Slack channel. Pure deterministic pipeline, no reasoning or judgement involved.

Trigger: a GitHub webhook on the release.published event from my product repository. Only fire on full published releases. Skip drafts and pre-releases.

Step 1. In GitHub, call Get a Release using the release ID from the webhook payload so I have the full release metadata: tag name, release name, body, author login, published_at timestamp, and the HTML URL back to the release page.

Step 2. In Supabase, call Create Row to insert into my `releases` table. Map these columns from the GitHub release object: tag (text, from tag_name), name (text, from name), body (text, from body), author (text, from author.login), published_at (timestamp, from published_at), and html_url (text, from html_url). Assume the table already exists with those columns.

Step 3. In Slack, call Send a Message as the bot to channel #releases. Format the message in Slack mrkdwn with the tag as a bold heading, the release name on the next line, the release body underneath, and a link back to the GitHub release page at the bottom. Keep the formatting clean so it reads well in the channel.

Make the Slack channel name, the Supabase table name, and the watched GitHub repository configurable inputs so I can reuse the same workflow for other repos or other channels later.

What does this prompt do?

  • The moment you publish a release on GitHub, we save the tag, title, notes, author, and date as a new row in your Supabase changelog table.
  • We post a clean announcement to your Slack release channel with the version, title, and the release notes so the whole team sees it at the same time.
  • Your database and your Slack channel stay in sync, giving you one source of truth for everything you have ever shipped.
  • Drafts and pre-releases are skipped, so only finished releases get logged and announced.

What do I need to use this?

  • A GitHub account with access to the repository you want to track releases for
  • A Supabase project with a table ready to store release records
  • A Slack workspace and the announcement channel you want the bot to post in

How can I customize it?

  • Choose which Slack channel the announcement gets posted in
  • Decide which fields from each release get saved to your changelog table
  • Add a filter so only specific repositories, or tags with a certain prefix, get tracked

FAQs

Will this fire for draft releases or pre-releases?
No. The workflow only runs when you publish a full release. Drafts and pre-releases are ignored so your changelog stays clean.
What happens if I edit a release after publishing it?
The first publish creates the changelog row and the Slack announcement. Later edits do not overwrite the row or repost in Slack by default. You can extend the workflow to update the row on edits if you want.
Can I track releases from more than one repository?
Yes. You can connect any number of repositories from the same GitHub account, and every published release lands in the same Supabase table and Slack channel.
Do I need to create the Supabase table first?
Yes. Create a table in Supabase with columns for the release tag, name, body, author, and publish date before turning this on. The workflow will not create the table for you.
Will the release notes look good in Slack?
Yes. The release body gets formatted for Slack so headings, lists, and links render the way your team expects in the channel.

Related templates

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Replay failed SQS messages when a bug fix is merged

When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.

Amazon SQS
GitHub
Slack Bot
Agentic Task

Stop copy-pasting release notes into Slack.

Connect GitHub, Supabase, and Slack once. Every new release lands in your changelog database and your team's Slack channel automatically.