Skip to main content
All Integrations
CRM

Automate Review Requests from HubSpot Deals

When a deal enters a stage you choose, Closed Won by default, EmbedMyReviews adds the deal's contact to a review campaign and sends the request by SMS or email at the time you choose. Deals that reopen or are lost before the send are skipped automatically.

No marketplace app and no OAuth screen. The connection runs on a private app token you create in your own HubSpot account, and there is no webhook to configure.

HubSpot
Closed Won

Website redesign

Sales pipeline · $4,800

Entered Closed Won 11:20 AM
Review request scheduled

Sends the next morning at 9:00 AM. "Hi Marcus, thanks for working with us. Would you share a quick review?"

How It Works

Four steps in the setup wizard. Nothing to configure on the HubSpot side beyond creating the token.

1

Connect with a private app token

Paste the access token from a private app in your HubSpot account. The token is validated on the spot and stored encrypted.

2

Choose the deal stages

Closed Won is pre-selected. Add any stage in any pipeline, and a deal entering one of them schedules a request.

3

Choose campaign and timing

Pick the review campaign, then send immediately, up to 7 days after the deal reaches the stage, or the next morning at a set time.

4

Review and activate

Confirm the summary and activate. Deals are checked every 15 minutes from that point on.

What triggers a request, and what never does

The integration watches for deals entering the stages you selected and acts on nothing else. A customer whose deal fell through is never asked for a review.

A deal entering a selected stage schedules a review request
A deal reopened, moved out of the stage, or lost before the send cancels the request
One request per deal. A deal that re-enters the stage is never asked twice
The deal's first associated contact receives the request. Deals with no contact, or a contact with no email or phone, are logged as skipped
Timing is anchored to the moment the deal entered the stage, so the 15-minute check never shifts the send
Website redesign · Closed WonRequest scheduled
SEO retainer · Proposal sentWaiting
Brand refresh · Closed LostCancelled
Landing pages · Closed WonRequest sent

Built for Businesses That Close Deals

Because the trigger is a stage change, the request lands at the point in the pipeline you decide the work is done.

Agencies and consultancies

Trigger on Closed Won, or on a later "Delivered" stage if the pipeline has one, so the request follows the work rather than the signature.

Home services and trades

Quotes tracked as deals close when the job is done. The customer hears from you while the finished work is still in front of them.

B2B sales teams

Point the campaign at G2, Trustpilot, or Google and ask the buyer contact once the deal is won.

Multi-pipeline accounts

Select stages across several pipelines in a single connection. New business and renewals can trigger from different stages.

Teams on HubSpot's free CRM

Private apps are available on the free tier, so no HubSpot upgrade is needed to connect.

Agencies managing HubSpot clients

Each client account connects with its own private app token under its own EmbedMyReviews account. Nothing is shared between clients.

Integration Features

Built around how HubSpot pipelines actually move, where deals reopen, stages get renamed, and contacts go missing.

Stage-based triggers across pipelines

Select one or many stages from any pipeline in the account. Closed Won is pre-selected and can be swapped for whatever stage means "done" in your process.

15-minute polling, no webhook

Deals are checked every 15 minutes with a 48-hour look-back. There is no webhook to register in HubSpot and nothing to break when settings change.

Reopened and lost protection

If a deal leaves the selected stage or is marked lost before the send, the pending request is cancelled with the reason recorded in the log.

Timing up to 7 days

Immediately, 15 minutes to 7 days after the deal reaches the stage, or the next morning at a chosen time in the account's timezone.

Works on the free CRM

Private apps are available on every HubSpot tier, including free. The token is yours to create and revoke, and only two read scopes are needed.

Activity log with skip reasons

Every deal received, skipped, cancelled, or sent is listed with its reason, such as no contact attached or no email or phone, alongside totals for deals received and requests sent.

What you need before connecting

EmbedMyReviews connects to HubSpot with a private app token, not an OAuth marketplace app. The setup wizard validates the token before anything is saved.

  • A super admin login in HubSpot to create the private app and grant its scopes.
  • A private app created under Settings, Integrations, Private Apps. On newer accounts the same screen is under Development, Legacy apps.
  • Two scopes granted to the app: crm.objects.deals.read and crm.objects.contacts.read. Nothing is written back to HubSpot.
  • The access token, which starts with pat-. It is stored encrypted and can be revoked in HubSpot at any time.
  • A review campaign with SMS or email configured through your own provider.

Why polling instead of a webhook

HubSpot private apps cannot register webhooks programmatically, so EmbedMyReviews checks deals every 15 minutes with a 48-hour look-back instead. The effect is the same: a deal that enters a selected stage is picked up on the next check, and the send is timed from the moment the stage changed, not from when it was noticed.

Nothing to configure in HubSpot

Beyond creating the private app and copying the token, there are no workflows, webhooks, or custom properties to set up. Deleting the private app in HubSpot revokes the token, and the connection stops on its next check.

BYOK

Your providers. Wholesale rates.

Review requests triggered by HubSpot deals are sent through your own Twilio (SMS) or SMTP (email) accounts. You pay wholesale rates directly, with no EmbedMyReviews markup on messaging.

Your Twilio
Your SMTP

Common questions

Do I need the HubSpot marketplace app or an OAuth connection?

No. EmbedMyReviews connects to HubSpot with a private app token, not an OAuth marketplace app. You create the private app in your own HubSpot account under Settings, Integrations, Private Apps, grant the crm.objects.deals.read and crm.objects.contacts.read scopes, and paste the token that starts with pat- into the setup wizard. You can revoke it in HubSpot at any time.

Which deal stage should trigger the request?

Closed Won is pre-selected and works for most teams. If your pipeline has a later stage that marks the work as delivered, select that instead so the request follows the outcome rather than the signature. You can select several stages across several pipelines in one connection, and a deal entering any of them schedules a request.

What happens if a deal is reopened?

If a deal is reopened, moved out of the selected stage, or marked lost before the request is sent, the pending request is cancelled and the deal is listed in the log with the reason. Each deal is only ever asked once, so a deal that later re-enters the stage is not asked again.

Does it work with the free HubSpot CRM?

Yes. Private apps are available on the free tier of HubSpot, so the integration works without a HubSpot upgrade. The only requirement is a super admin login to create the private app and grant the two read scopes.

Which contact receives the review request?

The deal's first associated contact. The contact's email, first and last name, and phone are used to create or match the contact in the review campaign. A deal with no associated contact, a contact that no longer exists, or a contact with no email or phone is logged as skipped with that reason.

How soon after the stage change is the request sent?

Deals are checked every 15 minutes, so a stage change is picked up within that window. The delay you chose during setup, immediately, up to 7 days, or the next morning, is measured from the moment the deal entered the stage in HubSpot, not from when the check noticed it, so the timing is the same as it would be with a webhook.

Connect HubSpot and let won deals ask for the review.

Included in the flat $99/month plan for unlimited clients and accounts. No per-connection fees.

No credit card required. Explore the platform for 14 days.