Sample build. A client-facing weekly digest of what a set of Make automations did, built from the question you posted on Make’s Hire a Pro board. Everything below is invented sample data for a made-up client. No login, no live keys, nothing touches your account.

Automation activity

Brightwood Kitchens & Baths

Week of Mon 13 to Sun 19 July 2026

Connected tools MakeHubSpotGmailStripe
60
things handled
55
went through cleanly
4
needed a person, now sorted
1
waiting on you

This week your automations handled 60 things across your four connected tools. 55 went through cleanly, 4 needed a human eye and were sorted out, and 1 is waiting on you: a deposit that could not be matched to a project.

What each automation did for you

New enquiry intake

22 runs this week

Every enquiry from your website or Facebook form becomes a contact and a deal in HubSpot, and your estimators get a Slack ping.

Captured 22 enquiries. 20 were new people. 2 were repeat enquiries from people already in HubSpot, so they were added to the existing record instead of creating a second one.

Website formHubSpotSlack

Nothing needed a person.

Enquiry triage (with an AI step)

22 runs this week

An AI model reads each new enquiry and sets the project type, a rough budget band, how urgent it looks, and which estimator it should go to.

Read all 22 enquiries. 19 were confident enough to route on their own. 3 did not give the AI enough to go on, so it flagged them for a person rather than guessing. Every decision it made, and the reason behind it, is listed in the next section.

AI modelHubSpot

The 3 it flagged are the flow working as intended, not errors. All 3 were replied to and routed by the end of the week.

Quote follow-ups

11 runs this week

When a quote has been sitting without a reply, this sends a friendly nudge on day 3 and again on day 7.

Sent 9 follow-ups. 2 were skipped because the client had already replied, so no unnecessary nudge went out.

HubSpotGmail

1 follow-up bounced and was flagged for a person. It was resent to an alternate address on Tuesday.

Deposit and review flow

5 runs this week

When a deposit is paid, this sends a thank-you and a review request, and marks the deal as Won.

Processed 5 deposits. Sent 5 thank-yous and 5 review requests, and marked 5 deals Won.

StripeGmailHubSpot

1 more deposit came in that could not be matched to a deal. It is held for you, in the Needs your attention section below.

The AI decisions, explained

This is the part that is usually hardest to explain. The AI step made a call on each enquiry, and here is exactly what it decided and why. Where it was not sure enough, it says so and left the enquiry for a person.

Enquiry

“We are gutting our kitchen, hoping to start before the holidays. Budget is around 40 to 60k. Can someone come out and measure?”

Project typeFull kitchen remodel
Budget band40 to 60k
UrgencyHigh
Routed toSenior estimator (Dana)
Why Gutting the whole kitchen, a firm budget range, and a request for a site measurement are all strong-intent signals. The wish to start before the holidays set the urgency to high.
93% confident Routed automatically
Enquiry

“Looking to update the tile in our guest bathroom, nothing major.”

Project typeBathroom refresh
Budget bandUnder 15k
UrgencyLow
Routed toJunior estimator (Marco)
Why A single-surface tile update, described as nothing major, points to a small job with no time pressure.
88% confident Routed automatically
Enquiry

“Do you do commercial work? We manage three restaurants.”

Project typeCommercial (outside usual scope)
Budget bandNot enough to say
UrgencyMedium
Routed toOwner, for a scope decision
Why Commercial multi-site work sits outside the residential remodel focus, so it went to the owner to decide rather than to an estimator.
90% confident Routed automatically
Enquiry

“Following up on the quote from last month for the primary bath, we are ready to move.”

Project typeBathroom remodel (existing lead)
Budget band25 to 35k, from the earlier quote
UrgencyHigh
Routed toBack to the open deal, Dana notified
Why This matched an existing contact and an open deal from last month, so instead of creating a new lead it was reconnected to that deal and the estimator was told it is ready to move.
95% confident Routed automatically
Enquiry

“hi price?”

Project typeNot clear
Budget bandNot clear
UrgencyNot clear
Routed toFlagged for a person
Why There was not enough here to tell what the project is or how urgent it is. Rather than guess a project type and a budget and route it to the wrong estimator, the AI left it for someone to reply and ask.
41% confident Flagged for a person

The confidence bar is set to 70%. Anything below that is left for a person instead of routed, which is how “hi price?” ended up flagged rather than sent to the wrong estimator.

The week in one place

The same week, laid out in one place across all four tools. This is the view that answers what happened and when, without you having to open four different dashboards.

Mon09:12
Website formNew enquiry from Sarah M. came in through the website
Mon09:12
AI modelRead as a full kitchen remodel, high urgency, routed to Dana (93% confident)
Mon09:13
HubSpotContact and deal created, deal owner set to Dana
Mon09:13
SlackDana pinged: new high-intent kitchen enquiry
Tue14:40
HubSpotDeal Guest bath tile moved to Quote Sent
Wed11:02
AI modelEnquiry hi price? left for a person, too little to route on (41% confident)
Fri08:00
GmailDay-3 follow-up sent for Primary bath remodel
Fri08:00
GmailDay-3 follow-up skipped for Kitchen island, the client had already replied
Thu16:22
StripeDeposit received for Riverside kitchen
Thu16:22
HubSpotRiverside kitchen deal marked Won, thank-you and review request sent
Sat11:05
StripeDeposit received from someone not yet in HubSpot, held for you to confirm

Needs your attention

Waiting on you

A deposit came in that could not be matched to a project

On Saturday a deposit was paid by a customer who is not in HubSpot yet, for what looks like a kitchen job. The automation held it instead of guessing which deal it belongs to.

Why it happened The Stripe payment did not carry a deal reference it could match on, and the paying email was not on any open deal. Rather than attach the payment to the wrong project, it parked it for you.

What to do Tell it which deal this belongs to, and it will finish sending the thank-you and marking the deal Won.

Resolved

One follow-up email bounced

The day-3 nudge for one contact bounced back. The automation caught it and flagged it, rather than quietly recording it as sent.

Why it happened Gmail returned a hard bounce, so the message was recorded as not delivered.

Outcome Already handled. It was resent to the contact's alternate address on Tuesday and went through.

Resolved

Three enquiries were too vague for the AI to route

Three short messages, like hi price?, did not say enough for the AI to pick a project type, so it flagged them for a person instead of guessing.

Why it happened Each one scored below the 70% confidence bar. This is the triage working the way it is meant to, not a failure.

Outcome Already handled. All three were replied to and routed by the end of the week.

Under the hood, for you and not the client

This part is for you, not the client. The report is not a mockup. It is built from the real execution data your scenarios already produce, plus the recent events in the connected tools. Here is one run, as Make records it, and the plain line it turns into.

One run, as Make records it

{
  "id": 30184417726042,
  "scenarioId": 4821771,
  "status": 1,
  "operations": 7,
  "transfer": 4213,
  "duration": 1840,
  "type": "auto",
  "executedAt": "2026-07-13T09:12:04.510Z"
}

status 1 is a clean run, 3 is an error. operations is what it costs, transfer is bytes moved, duration is in milliseconds. This is exactly what GET /scenarios/{id}/executions returns.

The AI step in that run

{
  "module": "anthropic-claude:CreateChatCompletion",
  "status": "ok",
  "operations": 1,
  "output": {
    "project_type": "Full kitchen remodel",
    "budget_band": "40-60k",
    "urgency": "high",
    "route": "senior_estimator",
    "confidence": 0.93,
    "reason": "Whole-kitchen gut, firm budget range, and a request for a site measurement are strong-intent signals; pre-holiday start set urgency high."
  }
}

Because your AI step returns a structured result with a reason and a confidence, the report can show the client the why in plain English. Nothing new is asked of the model, it just surfaces what it already returned in the run.

The waiting item, as a held run

{
  "id": 30184901120067,
  "scenarioId": 4821791,
  "status": 3,
  "reason": "No matching HubSpot deal for the paid Stripe session; parked as an incomplete execution rather than guessing.",
  "storedAt": "2026-07-18T11:05:39.220Z"
}

With store incomplete executions turned on, a run like this is held and is readable and resumable through the API. That is what becomes the one waiting-on-you item, instead of a silent gap.

The line it becomes

Execution 30184417726042 ran the intake scenario in 1.8 seconds, used 7 operations, and created one HubSpot contact and deal. In the report that becomes: New enquiry from Sarah M. captured and routed to Dana.

How this would run for real, without touching your existing scenarios:

  • A scheduled job reads each client's Make executions through the API (GET /scenarios/{id}/executions and GET /executions/{id}), so it works off the runs your scenarios already produce.
  • It pulls the recent events from the connected tools the same way, the HubSpot timeline, the Gmail sends, the Stripe payments, so the report is the one place that spans Make plus the other tools.
  • It groups everything by client, turns each run into a plain line, and summarises the AI-step decisions from the structured output they already return.
  • It publishes one link per client each week, or sends it as an email. Your scenarios are not changed, so there is nothing new to maintain inside them.