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.

Deterministic Code
GitHubTrelloSlackEngineeringOperationsNotifications & AlertsData Sync

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?
By default it fires on every newly opened pull request, drafts included. If your team only reviews ready PRs, you can tell the workflow to skip drafts.
Where do the new cards land on my Trello board?
In the specific list you choose during setup. Most teams use a To Review or In Review list. The board and list stay fixed until you change them.
What happens when a PR is closed or merged later?
This workflow only runs when a PR opens. Closing or merging does not move or archive the card automatically, so reviewers can keep their own trail on it.
Can I use this with private repositories?
Yes. As long as the connected GitHub account has access to the repo, both public and private repos work.
Will it post a Slack message for every single PR?
Yes, every new pull request triggers one message. If that feels noisy, point it at a less-busy channel or filter by repository, label, or branch.

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.