Spin up a Trello review card for every new GitHub PR
Every new GitHub pull request opens a Trello card on your review board, adds a default reviewer checklist, and pings engineering in Slack.
Build a deterministic code workflow that turns every newly opened GitHub pull request into a Trello review card and a Slack notification. No judgment calls, no branching logic. Every PR runs through the same fixed pipeline.
Trigger: a GitHub webhook on the pull_request event, filtered to the action 'opened'. The workflow should also accept the standard pull_request payload so it can read the PR number, title, body, HTML URL, user (author) login, head branch (head.ref), base branch (base.ref), and the repository full_name.
Step 1: Call Trello's Create a Card on a configured board and list (both should be configurable inputs so the user can pick their QA or review board and the list where review cards belong, for example a To Review list). Set the card name to the pull request title. Set the card description (desc) to a markdown block that includes: the PR body, the author's GitHub username, the head and base branch names, the repository, and a direct link to the PR on GitHub. Capture the new card's id and shortUrl from the response.
Step 2: Call Trello's Create a Checklist on the new card with a fixed name like 'Review Checklist'. Capture the new checklist id.
Step 3: Call Trello's Create a Checklist Item four times on that checklist, in order, with these fixed items so reviewers always have the same standard list: 'Code review', 'Manual QA', 'Design review', 'Ready to merge'.
Step 4: Call Slack's Send a Message to a configured engineering channel. The message text should be a single short line that includes both links side by side, for example: 'New PR opened: <PR title> by <author> — <PR url> · Trello card: <card shortUrl>'. Use Slack's mrkdwn link syntax for clickable links.
Configurable inputs the user should set once: Trello board id, Trello list id, Slack channel (id or name), and optionally a flag to skip draft PRs (read pull_request.draft from the webhook payload and short-circuit if true). Everything else is fixed.
Keep the implementation strictly deterministic. No LLM calls. No retries beyond standard HTTP failure handling. The same PR payload should always produce the same card, same checklist, same Slack message.
Additional information
What does this prompt do?
- The moment a pull request opens in GitHub, a new card lands on your Trello review board with the PR title, description, author, branch names, and a direct link back to the PR.
- A standard review checklist (code review, manual QA, design review, ready to merge) is added to the card so reviewers always know what to cover.
- Your engineering Slack channel gets a short message with the PR link and the new Trello card link side by side so nobody has to copy and paste.
What do I need to use this?
- A GitHub account connected to the repositories you want to track.
- A Trello account with the board and list you want new review cards to land in.
- A Slack workspace and the engineering channel where you want the heads-up posted.
How can I customize it?
- Pick which Trello board and list new review cards drop into.
- Change the default checklist items to match how your team reviews, for example adding security review, accessibility check, or release notes.
- Choose a different Slack channel, or split the alerts by repository so frontend and backend teams get their own pings.
Frequently asked questions
Does this work for draft pull requests?
Where do the new cards land on my Trello board?
What happens when a PR is closed or merged later?
Can I use this with private repositories?
Will it post a Slack message for every single PR?
Stop copying GitHub PRs into Trello by hand.
Connect GitHub, Trello, and Slack once, and every new pull request opens its own review card with a standard checklist and a team heads-up.