Sync PR Code Reviews to HubSpot Deals

Code review feedback is scattered across GitHub comments, and you're constantly context-switching to understand PR status. Notis turns each review into a deal record so your entire team can see what's blocked, what's approved, and what's moving forward.

Trigger

Pull Request Review Submitted

Triggers when a new review is submitted for a GitHub pull request. Emits an event for each newly submitted review on the monitored pull request, covering all review types: APPROVED, CHANGES_REQUESTED, COMMENTED, and DISMISSED.

Hubspot logo

Action

Create batch of deals

Creates multiple deals in hubspot crm; ensure any associated object ids, deal stages, and pipeline ids specified are valid and exist within the hubspot account.

Why this helps

PR status lives in GitHub comments where momentum is invisible, forcing you to manually track which PRs are approved, stalled, or need revisions.

  • Visual representation of PR approval status
  • Identify bottlenecks in your review process
  • Track team review velocity

Setup

Build it in a few focused steps.

  • 1Connect GitHub and HubSpot to Notis.
  • 2Create a new automation in the portal.
  • 3Set your prompt: 'When a pull request receives a code review, create a HubSpot deal with the PR title, review type (approved/changes requested), and reviewer name.'
  • 4Select the trigger: GitHub > Pull Request Review Submitted.
  • 5Choose your notification channel and confirm.

Questions about this workflow

Will you create a separate deal for each review, or one per PR?

By default, Notis creates one deal per PR and updates it as reviews come in. You can ask it to create a new deal for each distinct review if you prefer detailed tracking.

Can we track both 'approved' and 'changes requested' separately?

Yes. Notis logs the review type and can move the deal through different stages based on approval status.

What if multiple reviewers comment on the same PR?

Notis combines reviewer feedback into a unified deal record so you see the overall PR status, not individual reviewer opinions.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link GitHub to Hubspot. A trigger fires from one place; an action lands in another.

GitHub logo

GitHub triggers

Hubspot logo

Hubspot actions

New Workflow Artifact Created

Triggers when a new workflow artifact is created in a GitHub repository. Monitors for newly created GitHub Actions workflow artifacts. Optionally filters by artifact name to restrict monitoring to specific artifacts.

TriggerPolling

Add asset association

Associates an existing asset ('form', 'object list', or 'external web url') with a specified hubspot marketing campaign.

ActionInstant

Branch Changed

Triggers when a GitHub branch changes. Monitors a specific branch for: - New commits pushed (head commit SHA changes) - Protection status toggled (branch becomes protected or unprotected) - Protection settings changed, including: required status checks and their enforcement level, admin enforcement, required pull request reviews (dismiss stale reviews, code owner reviews, approving review count, last push approval), required linear history, force push allowance, deletion allowance, conversation resolution, branch locking, and fork syncing.

TriggerPolling

Add token to event template

Adds a new custom data token to an existing event template for a specified hubspot application, optionally populating a crm object property if objectpropertyname is provided.

ActionInstant

New Branch Created

Triggers when a new branch is created in a GitHub repository. Detects newly created branches. Deleted branches do not fire events.

TriggerPolling

Archive email

Archives the hubspot email specified by `emailid` by moving it to the recycling bin, making it inaccessible unless restored.

ActionInstant

Check Run Status / Conclusion Changed

Triggers when a specific GitHub check run changes its status or conclusion. Monitors a single check run for changes to: status (queued, in_progress, completed, etc.), conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required), started_at, and completed_at.

TriggerPolling

Archive a batch of emails by ID

Archives multiple hubspot crm emails by id; ids must exist as archiving is irreversible.

ActionInstant

Check Suite Status / Conclusion Changed

Triggers when a GitHub check suite changes its status or conclusion for a given ref. Monitors all check suites associated with a git reference (branch, tag, or commit SHA) for changes to status (queued, in_progress, completed, etc.) and conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required, startup_failure, stale). Optionally filters by GitHub App ID.

TriggerPolling

Archive a batch of quotes by id

Archives a batch of existing, non-archived quotes by their ids; this action is irreversible and useful for managing outdated or irrelevant quotes.

ActionInstant

New Code Scanning Alert Created

Triggers when a new code scanning alert is created in a repository. Fires an event for each newly created code scanning alert detected in the configured repository. Alerts can be filtered by Git reference, scanning tool, state, and severity. The payload includes the alert number, rule details, tool information, state, severity, and the location of the most recent instance.

TriggerPolling

Archive batch of companies by id

Archives a batch of companies by their unique ids; targeted companies must exist, not be previously archived, and this api operation is irreversible.

ActionInstant

New Repository Collaborator Added

Triggers when a new collaborator is added to a GitHub repository. Monitors the full list of collaborators on a repository and fires an event for each newly added collaborator. The payload includes the collaborator's GitHub username, account ID, profile URL, avatar URL, permission flags (pull, triage, push, maintain, admin), and assigned role name.

TriggerPolling

Archive batch of contacts by id

Archives a batch of existing contacts by their hubspot crm ids, rendering them inactive; this action is irreversible via the api and requires manual restoration or a separate unarchive endpoint.

ActionInstant

Commit Event

Triggered when a new commit is pushed to a repository.

TriggerInstant

Archive batch of deals by id

Archives a batch of existing deals by their unique hubspot ids, removing them from active views and reports (soft delete); archived deals may be restorable.

ActionInstant

Connect any two apps with Notis in the middle.

Not just GitHub and Hubspot. Any combination from 985+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business Hubspot.